如何杀死MacOS中的进程?

时间:2009-05-24 04:32:20

标签: macos

我试过了kill -9 698但过程没有死。

$ ps -ef | grep chromium
  502   698   811   0   0:01.24 ??         0:07.28 /Users/lucius/chromium/src/xcodebuild/Debug/Chromium.app/Contents/MacOS/Chromium
  502   854   732   0   0:00.00 ttys001    0:00.00 grep chromium
$ kill -9 698


$ ps -ef | grep chromium
  502   698   811   0   0:01.24 ??         0:07.28 /Users/lucius/chromium/src/xcodebuild/Debug/Chromium.app/Contents/MacOS/Chromium
  502   854   732   0   0:00.00 ttys001    0:00.00 grep chromium

9 个答案:

答案 0 :(得分:104)

如果你试图杀死-9它,你有正确的PID,没有任何反应,那么你没有权限杀死这个过程。

<强>解决方案:

$ sudo kill -9 PID

好的,确实有足够的Mac OS / X为这种情况提供错误信息:

$ kill -9 196
-bash: kill: (196) - Operation not permitted

因此,如果您没有收到错误消息,那么您无法获得正确的PID。

答案 1 :(得分:7)

在某些情况下,您可能希望终止在特定端口中运行的所有进程。例如,如果我在3000端口上运行节点应用程序,我想杀死它并开始一个新的;然后我发现这个命令很有用。

查找在TCP端口3000上运行的进程ID并将其终止

kill -9 `lsof -i TCP:3000 | awk '/LISTEN/{print $2}'`

答案 2 :(得分:6)

如果您知道可以使用的进程名称:

killall Dock

如果不这样做,您可以打开活动监视器并找到它。

答案 3 :(得分:2)

如果kill -9无效,那么killall(甚至killall -9也不会更加“激烈”。显然铬过程卡在一个不可中断的系统调用中(即在内核中,而不是用户区) - 没想到MacOSX有任何剩下的,但我想还有一个:-(。如果那样进程有一个控制终端,你可以把它背景并在背景时杀死它;否则(或者如果强烈的杀戮甚至一旦进程被破坏就不起作用)我没有想法,我想你可能不得不重新启动: - (

答案 4 :(得分:2)

鉴于程序的路径,我假设您当前正在Xcode下运行它,并且可能处于调试断点。由于断点的底层实现,进程无法在此状态下被终止。

第一步是转到Xcode进程并停止调试。如果由于一些奇怪的原因你失去了对Xcode的访问权限(也许Xcode已经失去了对其gdb子进程的访问权限),那么解决方案是杀死gdb进程。更一般地说,这里的解决方案是杀死父进程。在您的情况下,这是PID 811(第三列)。

在这种情况下无需使用-9。

答案 5 :(得分:2)

我刚刚搜索了这个,因为我处于类似情况,而不是kill -9 698我试过sudo kill 428,其中428是我想要杀死的过程的pid。在没有连字符' - '字符的情况下,它干净利落地为我工作。我希望它有所帮助!

答案 6 :(得分:1)

我已经体验到,如果kill -9 PID不起作用且您拥有该流程,则可以使用kill -s kill PID,这有点令人惊讶,因为手册页说明您可以kill -signal_number PID。< / p>

答案 7 :(得分:0)

我最近遇到了类似的问题,即原子编辑器无法关闭。都没有回应。杀死/杀死-9 /从活动监视器强制退出-无效。最终不得不重启我的Mac以关闭该应用程序。

答案 8 :(得分:0)

在聚光灯下,搜索“活动监视器”。您可以从此处强制完全删除任何应用程序。

enter image description here