Mac终端killall命令是退出还是强制退出?

时间:2018-04-19 14:56:25

标签: macos unix terminal macos-high-sierra

kill和killall命令究竟做了什么?我意识到他们终止了一个应用程序或进程,但他们中的任何一个都干净/安全地做了,比如" Quit"在UI中呢?或者他们更喜欢" Force Quit"?

谢谢!

(macOS 10.13.4 High Sierra)

2 个答案:

答案 0 :(得分:2)

kill命令是一个UNIX命令(macOS是UNIX变体),它向进程发送信号。可以将许多不同的信号发送到进程。信号定义了名称和数字代码。

如果未指定信号,将使用默认值,即TERM (15)信号。 TERM信号的规范旨在使寻址过程有机会正常关闭,i。即在终止之前做一些清理。

示例(全部等效):

kill <pid>
kill -15 <pid>
kill -TERM <pid>
kill -s TERM <pid>

更有力的信号是KILL (9)信号,它会强制进程立即终止。

示例:

kill -9 <pid>
kill -KILL <pid>
kill -s KILL <pid>

有关更多信息和完整信号列表,请运行man kill

使用kill,您必须按进程ID指定目标进程。 killall命令的作用基本相同,主要区别在于它允许您按名称指定目标进程。有关详细信息,请参阅man killall

答案 1 :(得分:0)

这就像在Windows中的任务管理器(或macOS中的Activity Monitor)中结束一些东西,它更像是强制退出某事而不是实际单击关闭按钮。