【发布时间】:2017-12-28 03:50:12
【问题描述】:
我试图杀死一个我在后台运行的进程,而不是我想使用命令行取消它。以下是我正在使用的命令,但出现错误“不允许操作”。
ps -aef | grep gs_roach | grep -v grep | awk '{print $2}' | xargs kill -2
【问题讨论】:
-
进程可能在root等超级用户下运行。
我试图杀死一个我在后台运行的进程,而不是我想使用命令行取消它。以下是我正在使用的命令,但出现错误“不允许操作”。
ps -aef | grep gs_roach | grep -v grep | awk '{print $2}' | xargs kill -2
【问题讨论】:
起初,2 是 SIGINT。 SIGINT 是中断信号。当用户按下 ctrl-c 时,终端将其发送到前台进程。
其次,您现在确实拥有您要杀死的进程。这就是 ps 输出(未列出进程)和 sudo 要求终止进程的原因。
您可以使用 ps -aux 列出所有进程,包括您不拥有的进程。您还可以使用 -p 参数来显示最适合您需要的特定流程
如果你需要杀死一个进程; 尝试使用带有 -9 信号的 kill 命令
如果以下命令不起作用
sudo kill PROCESS_ID
尝试使用以下命令:
sudo kill -9 PROCESS_ID
或尝试使用以下命令:
sudo kill -s SIGKILL PROCESS_ID
--
【讨论】:
kill -9 应该是最后的手段。先试试kill -15 $pid。祝大家好运。