如何在OS X上使用top终止进程?


8

在其他Unixe上,我可以使用top然后单击K并键入进程ID。如何在OS X中做到这一点?

我可以kill [the_pid]在命令行上自行输入,并且可以正常工作。但是,我想知道在top程序中是否有办法实现它。


1
如果您使用的是其他* NIXes,则可能已经使用过htop。我发现每台机器之间的信息更加一致。可通过MacPorts使用。
伊夫史密斯

Answers:


5
# top

shift+ s。这将显示:

signal [TERM]:

此时,您只需按回车键即可获得“礼貌”的流程结束请求(“信号15”),该请求将使流程清理文件,释放内存等。对于无法通过这种方式终止的流程,您可以输入然后按信号“ 9”,即“ kill”一词return

现在,顶部提示您输入pid(进程ID):

pid:

输入您要终止的进程的pid,应该注意这一点。


1
我不会使用SIGKILL作为首选。建议的SIGTERM应该适用于大多数过程。SIGKILL终止过程中没有任何追索或清理,可能留下了“僵尸”进程仍然有打开的文件描述符,分配的内存等
扬斯坦曼

感谢Jan。但是,我没有在此答案中提及SIGKILL。大概暗含?另外,如果SIGTERM是更好的选择,请确切说明键入的内容。
迈克尔·杜兰特

好的,我自己更新一下。
迈克尔·杜兰特

4

top手册页:

  S<signal><pid>
          Send  <sig>  to  <pid>.   <sig> can be specified either as a number or
          as a name (for example, HUP).  The default signal starts out as TERM.
          Each time a signal is  successfully  sent,  the default signal is updated
          to be that signal.  <pid> is a process id.
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.