1

我有 2 个使用相同名称的进程,并且在每个进程中我想插入一行,它只杀死 1 个进程。例如,如果我的 2 个进程的名称是“test”,我不能在文件“test”中插入这样的一行:system("killall -9 test");

因为这两个过程都会停止。我该怎么做?

4

1 回答 1

2

您需要通过其进程 ID 识别每个进程,并使用它来终止。进程 ID唯一标识一个进程(不足为奇!)

另请注意SIGKILL,默认情况下使用 -9 ( ) 是不好的做法。正常的 kill ( SIGINT) 将允许进程捕获它,执行任何清理然后退出。A SIGKILL(-9) 不允许这种清理机会,应该作为最后的手段使用。

于 2013-09-16T14:01:56.320 回答