批量查进程linux,linux 批量删除进程与查看进程详解

在linux系统中我们查看进程使用grep命令来搜索,删除进程使用kill 命令用于终止进程。

下面介绍linux进程批量删除与查看实例,希望对各位朋友会有所帮助。

1.Tab 键会自动补全

在 LINUX 命令平台输入 1-2 个字符后按 Tab 键会自动补全后面的部分(前提是要有这个东西,例如在装了 tomcat 的前提下, 输入 tomcat 的 to 按 tab)。

2. ps 命令用于查看当前正在运行的进程。

grep 是搜索

例如: ps -ef | grep java

表示查看所有进程里 CMD 是 java 的进程信息

ps -aux | grep java

-aux 显示所有状态

3. kill 命令用于终止进程

例如: kill -9 [PID]

-9 表示强迫进程立即停止

通常用 ps 查看进程 PID ,用 kill 命令终止进程

4.批量删除进程

介绍两种方法。要kill的进程都有共同的字串。

kill -9 `ps -ef |grep xxx|awk '{print $2}' `

kill -9后面的符号是Tab键上方那个。

如上就是kill -9 `列出进程,找到包含xxx的行,输出pid的列

kill、ps、grep都是很常用的命令了。

awk的作用是输出某一列,{print $2}就是输出第二列,如上即是pid这一列。

ps -ef | grep xxx | grep -v root | awk '{print $2}' | xargs kill -9

grep -v这个参数的作用是排除某个字符。所以这里排除了root执行的命令。

之后也利用awk找到pid这一列。

最后的xargs是从标准输出获取参数并执行命令的程序,即从前面的命令获取输出作为参数来执行下一个命令。

5.清理僵尸进程

今天在维护服务器的时候,发现有5个nova-novncproxy的僵尸进程。

?

26327 ?        S      0:05  _ /usr/bin/python /usr/bin/nova-novncproxy --config-file=/etc/nova/nova.conf

4765 ?        Z      0:00      _ [nova-novncproxy]

4766 ?        Z      0:00      _ [nova-novncproxy]

4767 ?        Z      0:00      _ [nova-novncproxy]

4768 ?        Z      0:00      _ [nova-novncproxy]

4769 ?        Z      0:00      _ [nova-novncproxy]

一般僵尸进程很难直接kill掉,不过您可以kill僵尸爸爸。父进程死后,僵尸进程成为”孤儿进程”,过继给1号进程init,init始终会负责清理僵尸进程.它产生的所有僵尸进程也跟着消失。

ps -e -o ppid,stat | grep Z | cut -d” ” -f2 | xargs kill -9

kill -HUP `ps -A -ostat,ppid | grep -e ’^[Zz]‘ | awk ’{print $2}’`

当然您可以自己编写更好的shell脚本,欢迎与大家分享。

我将nova-novncproxy stop后再start,僵尸进程即消失,问题解决。

另外子进程死后,会发送SIGCHLD信号给父进程,父进程收到此信号后,执行waitpid()函数为子进程收尸。就是基于这样的原理:就算父进程没有调用wait,内核也会向它发送SIGCHLD消息,而此时,尽管对它的默认处理是忽略,如果想响应这个消息,可以设置一个处理函数。

6.如何避免僵尸进程呢?

处理SIGCHLD信号并不是必须的。但对于某些进程,特别是服务器进程往往在请求到来时生成子进程处理请求。如果父进程不等待子进程结束,子进程将成为僵尸进程(zombie)从而占用系统资源。如果父进程等待子进程结束,将增加父进程的负担,影响服务器进程的并发性能。在Linux下 可以简单地将 SIGCHLD信号的操作设为SIG_IGN。

signal(SIGCHLD,SIG_IGN);

这样,内核在子进程结束时不会产生僵尸进程。这一点与BSD4不同,BSD4下必须显式等待子进程结束才能释放僵尸进程

或者

用两次fork(),而且使紧跟的子进程直接退出,是的孙子进程成为孤儿进程,从而init进程将负责清除这个孤儿进程。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值