'杀戮'和'终止'之间的区别

Sud*_*eej 15 unix sigkill kill-process

我只是用一个睡眠过程来测试kill switch标志.

首先,我尝试用-15杀死它

 xtechkid@ubuntu:~/Desktop/expermiments$ ps cax | grep 10005
 10005 pts/2    S+     0:00 sh
 xtechkid@ubuntu:~/Desktop/expermiments$ kill -15 10005
Run Code Online (Sandbox Code Playgroud)

这个过程终止了

 xtechkid@ubuntu:~/Desktop/expermiments$ sh testscript.sh
 This is a script which sleeps for few seconds ..
 Terminated
Run Code Online (Sandbox Code Playgroud)

然后我用 - 9杀了它

 xtechkid@ubuntu:~/Desktop/expermiments$ ps -ef | grep testscript.sh
 xtechkid 10059  9852  0 13:48 pts/2    00:00:00 sh testscript.sh
 xtechkid 10064 10007  0 13:48 pts/4    00:00:00 grep --color=auto testscript.sh
 xtechkid@ubuntu:~/Desktop/expermiments$ kill -9 10059
Run Code Online (Sandbox Code Playgroud)

这个过程被杀了

 xtechkid@ubuntu:~/Desktop/expermiments$ sh testscript.sh
 This is a script which sleeps for few seconds ..
 Killed
Run Code Online (Sandbox Code Playgroud)

有什么不同 ?

brm*_*brm 24

'terminate'信号SIGTERM是一个可以在程序中截获的信号.通常,在后台运行的进程将捕获此信号并启动关闭过程,从而实现干净的退出."杀戮"信号SIGKILL无法截获.当这被发送到进程时,将导致该程序的突然终止.

例如,当您关闭或重新启动计算机时,通常会先将SIGTERM发送到正在运行的进程,如果它们支持它,则允许它们以干净的方式退出.然后,几秒钟后,SIGKILL被发送到仍在运行的进程,以便强制释放正在使用的资源(例如正在使用的文件),并且可以继续关闭序列(例如,卸载文件系统)


mad*_*hur 5

终止:它会在关闭之前存储您的所有数据(将数据从 RAM 写入磁盘、日志等)

Kill:这更像是按下 PC 电源和重置按钮。它不会保存任何日志或其他数据。

  • 我喜欢电脑电源和重置按钮的比喻。 (2认同)