我总是无法终止程序。这真是令人沮丧。请看下面的示例。我只是想终止 ID 为 29409 的 nano 进程。为什么当我输入 sudo kill 29409 时它不起作用?
$ ps aux | grep 29409
root 29409 0.0 0.0 71248 3980 pts/1 T 00:06 0:00 sudo nano /etc/network/interfaces
computer 29565 0.0 0.0 15948 2236 pts/1 S+ 00:13 0:00 grep --color=auto 29409
pc@pc:~$ sudo kill 29409
pc@pc:~$ ps aux | grep 29409
root 29409 0.0 0.0 71248 3980 pts/1 T 00:06 0:00 sudo nano /etc/network/interfaces
答案1
你必须发送杀戮信号终止信号值为 9,将终止具有给定进程 ID 的进程。
kill -9 PID
根据作业,如果它是后台作业,您可能必须使用kill -9 $! PID
命令将其终止。
或者,您可以使用命令top
。运行 Top 命令,它将列出所有进程,然后使用它k
来终止该进程。
您可以随时使用这些页面获取帮助man
。例如man kill
命令将为您提供详细信息。
祝你好运!
答案2
我发现使用 pkill 更有针对性:
sudo pkill nano
您无需输入进程 ID,只需输入进程名称即可让 pkill 终止与其匹配的所有进程。与该kill
命令一样,如果进程拒绝正常终止,您可以发送 SIGKILL 信号而不是 SIGTERM:
sudo pkill -9 nano