当我列出我的流程时,我有:
root@adam-ThinkPad-T410:~# ps -e | grep 信号
11641 pts/0 00:00:00 信号
11642 pts/0 00:00:00 信号
11643 pts/0 00:00:00 信号
但是当我想终止时,我收到的信息说没有这样的过程:
root@adam-ThinkPad-T410:~# killall -9 11641
11641: 未找到进程
我对 Linux 还很陌生,有点困惑,我也尝试过“kill 11641”——但还是没有运气
答案1
killall
需要进程名称,例如,killall signals
这将终止所有此类进程。否则,您应该使用进程 ID(您已从中正确提取ps
):kill -9 <PID>
其中-9
是SIGKILL
和相当粗鲁,通常 akill <PID>
就足够了(但在您的例子中似乎不起作用)。man killall
和man kill
是你的朋友。
答案2
当您从另一个命令中管道传输 grep 命令时,该命令会将自身作为进程返回。我假设这process 11641
是 grep 进程,它实际上已经退出(并且无法以您尝试终止它的方式被终止)。
尝试这样做:
ps -e | grep signals | grep -v grep
这实际上从结果中删除了 grep 过程。