如何杀死MacOS中的进程?

luc*_*ius 61 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
Run Code Online (Sandbox Code Playgroud)

Cha*_*tin 110

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

解:

$ sudo kill -9 PID
Run Code Online (Sandbox Code Playgroud)

好的,确实有足够的Mac OS/X确实给出了这种情况的错误信息:

$ kill -9 196
-bash: kill: (196) - Operation not permitted
Run Code Online (Sandbox Code Playgroud)

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


Gaj*_*ara 8

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

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

kill -9 `lsof -i TCP:3000 | awk '/LISTEN/{print $2}'`
Run Code Online (Sandbox Code Playgroud)


Mat*_*ira 8

您可以使用命令列出使用端口的进程lsof,例如:

lsof -i tcp:PORT_NUMBER_HERE
Run Code Online (Sandbox Code Playgroud)

将单词替换PORT_NUMBER_HERE为您正在使用的端口号,然后将列出该端口上运行的进程。然后你只需杀死像这样创建的进程ID:

kill PID_NUMBER
Run Code Online (Sandbox Code Playgroud)

PID_NUMBER端口上运行的进程 ID 在哪里。


Gar*_*ett 6

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

killall Dock
Run Code Online (Sandbox Code Playgroud)

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