首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >杀死彗星僵尸

问杀死彗星僵尸
EN

Unix & Linux用户
提问于 2015-08-08 18:31:48
回答 3查看 473关注 0票数 0

我有一个僵尸进程正在改变它的PID,它在增加。在PID大于N的情况下,有可能终止进程吗?

EN

回答 3

Unix & Linux用户

回答已采纳

发布于 2015-08-08 21:40:53

代码语言:javascript
复制
pkill -f string

其中字符串是进程名的一部分。

票数 -1
EN

Unix & Linux用户

发布于 2015-08-09 23:06:57

你不能杀僵尸。顾名思义,它死了。僵尸不是真正的进程,它只是进程表中的一个条目,等待父进程注意到。

一个进程不会改变它的进程ID。如果你看到新的进程ID出现,那是因为有东西正在产生它们。

如果您要杀死的进程正在被监视,监视程序将看到该进程已死亡,因此它将启动一个新的实例。然而,有了监控程序,这个过程就不会变成僵尸,因为监视器会监视它的孩子。

因为你看到了一个僵尸,它有一个父母没有注意到它的孩子。检查父进程是什么:运行ps -o ppid -p 1234,其中1234是僵尸的PID,然后运行ps -p 2345,其中2345是父进程的PID。然后根据父程序来决定您想要做什么,例如配置它以停止生成该孩子。

票数 3
EN

Unix & Linux用户

发布于 2015-08-08 20:00:05

pkill命令可能在您的系统上可用。它不使用PID,而是以进程名模式作为参数,它允许您指定要用它们的名称而不是PID来终止的进程,例如,如果您想终止httpd进程:

代码语言:javascript
复制
pkill http

在需要的情况下,它还可以接受-9参数来残酷地停止进程。

默认情况下,它将影响所有匹配作为参数的模式的进程。因此,我建议您在pgrep命令之前使用与参数相同的模式,这将列出所有匹配的进程,这样您肯定不会终止意外的进程。

这些命令接受各种附加筛选器来限制选择的不同标准,如果需要的话,请检查它们的手册页以获取适用于您的筛选器。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/222004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档