设为首页 收藏本站
查看: 1552|回复: 0

[经验分享] Linux之进程管理

[复制链接]

尚未签到

发表于 2018-5-18 08:11:48 | 显示全部楼层 |阅读模式
  程序是保存在外部存储设备(如硬盘)中的可执行机器代码和数据的集合。而进程是在CPU及内存中处于动态执行状态的计算机程序。每个程序启动后会产生一个或多个进程,如httpd程序,当有大量用户访问Web页面时,httpd程序会产生多个进程来提供服务。
  一 查看进程
  1 ps:查看静态的进程信息
  选项:a    显示当前终端下所有的进程信息
  u    使用以用户为主的格式输出进程信息

  x    显示当前用户在所有终端下的进程信息

  -e   显示系统内所有进程信息

  -l   使用长格式显示进程信息

  -f   使用完整的格式显示进程信息

  

  [root@localhost ~]# ps                            #只显示当前用户会话中打开的进程
  PID TTY          TIME CMD
  2838 pts/0    00:00:00 bash
  5252 pts/0    00:00:00 ps
  [root@localhost ~]# ps aux                        #以列表的形式显示出进程信息
  [root@localhost ~]# ps -elf                       #使用长格式显示进程的详细信息
  [root@localhost ~]# ps aux | grep mysqld          #查看mysqld进程信息
  

  2 top:查看进程动态信息
  [root@localhost ~]# top
  

  3 pgrep:查询特定进程信息
  选项:-l    长格式输出,查询所有匹配进程的名称和进程ID
  -U    查询特定用户的进程

  [root@localhost ~]# pgrep -l "my"                 #查询名称中包含"my"的进程信息
  5531 mysqld_safe
  5633 mysqld
  [root@localhost ~]# pgrep -l -U root              #查询root用户的进程名称和ID号
  

  4 pstree:查看进程树
  选项:-a    列出完整的命令信息
  -u    显示对应的用户名

  -p    显示进程ID号

  [root@localhost ~]# pstree                        #显示进程树
  [root@localhost ~]# pstree -aup                   #显示进程树详细信息,包括PID,用户、命令
  [root@localhost ~]# pstree -aup mysql             #指定用户,列出由用户mysql打开的进程结构
  mysqld,5633 --basedir=/usr --datadir=/var/lib/mysql --user=mysql --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock
  ├─{mysqld},5635
  ├─{mysqld},5636
  ├─{mysqld},5637
  ├─{mysqld},5638
  ├─{mysqld},5645
  ├─{mysqld},5646
  ├─{mysqld},5647
  ├─{mysqld},5648
  └─{mysqld},5649
  

  二 管理进程
  1 &:后台启动进程
  [root@localhost ~]# cp -R /etc/ ./ &                    #进程后台启动
  [root@localhost ~]# jobs -l                             #查看后台运行的进程,-l显示PID号
  

  2 终止进程
  ctrl+c:中断进程,向进程发出SIGINT信号
  

  使用命令中止进程:

  kill:使用kill终止进程时需要PID号作为参数
  [root@localhost ~]# kill 5633                           #终止PID为5633的进程
  [root@localhost ~]# kill -9 7582                        #-9意味着强行终止,慎用
  [root@localhost ~]# kill -s QUIT 7849                   #向进程发送QUIT信号,从容停止
  

  killall:可以通过进程名来终止进程
  [root@localhost ~]# killall master                      #终止进程,后面是进程名称
  [root@localhost ~]# killall -9 master                   #-9:强行终止
  [root@localhost ~]# killall -s QUIT mysqld              #从容停止某项服务
  

  pkill:可以根据进程的名称、运行该进程的用户等属性终止该进程
  [root@localhost ~]# pkill mysqld                        #终止进程
  [root@localhost ~]# pkill -U "zwj"                      #终止用户zwj启动的进程,-9强制终止
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-461514-1-1.html 上篇帖子: linux 目录介绍 下篇帖子: linux bash特性(20170419)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表