如何确定哪个任务正在启动另一个任务

如何确定哪个任务正在启动另一个任务

我正在处理一些本质上类似病毒的行为,我想结束它们。

我的计算机上正在运行任务“foo”,生成大量调用,导致我的系统性能陷入瘫痪。我可以终止该任务:

for i in `ps -x -U root | grep -i foo | cut -d' ' -f2`; do sudo kill -9 $i ; done

不幸的是,未知任务“bar”立即重新启动 foo。我有 root 访问权限。我非常厌倦我的机器被禁用。我该如何停止?

答案1

您可以使用它cat /proc/{foo pid}/status | grep PPid来获取父进程的pid。然后您可以使用cat /proc/{bar pid}/cmdline来查找命令。

如果它确实是病毒,您也许应该完全删除 linux 然后重新安装它。

答案2

ps 命令可以在 PPID 列中显示父 pid。这将向您显示启动进程“foo”的进程。然后您可以杀死这个 PPID。 -C 标志还可以选择进程名称。

相关内容