Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell 使用kill-9和kill-SIGUSR2的区别_Shell_Kill Process_Sigkill - Fatal编程技术网

Shell 使用kill-9和kill-SIGUSR2的区别

Shell 使用kill-9和kill-SIGUSR2的区别,shell,kill-process,sigkill,Shell,Kill Process,Sigkill,使用kill命令格式的操作有什么不同,在什么情况下使用哪种格式 kill -9 process-id kill SIGUSR2 process-id 如果要向进程发送SIGUSR2,可以使用以下任一方法: kill -SIGUSR2 $pid kill -USR2 $pid kill -10 $pid # This will vary with platform kill -SIGKILL $pid kill -KILL $pid kill -9 $pid 如果要向进程发送SIGKIL

使用kill命令格式的操作有什么不同,在什么情况下使用哪种格式

kill -9 process-id
kill SIGUSR2 process-id

如果要向进程发送
SIGUSR2
,可以使用以下任一方法:

kill -SIGUSR2 $pid
kill -USR2 $pid
kill -10 $pid   # This will vary with platform
kill -SIGKILL $pid
kill -KILL $pid
kill -9 $pid

如果要向进程发送
SIGKILL
,可以使用以下任一方法:

kill -SIGUSR2 $pid
kill -USR2 $pid
kill -10 $pid   # This will vary with platform
kill -SIGKILL $pid
kill -KILL $pid
kill -9 $pid
不知道如何回答您关于“哪种情况”的问题。如果要发送
USR2
,则使用前3个命令之一。如果要发送
KILL
,请使用后者之一。您通常希望避免使用
KILL
,因为接收
KILL
的进程无法在其自身之后进行清理。另一方面,许多软件编写得很差,只能通过
SIGKILL
终止。通常认为发送
术语
,然后在第二次发送
术语
之前等待一段时间,然后在发送
杀死
之前再次等待会更礼貌
USR2
通常只对期望它并将以某种有用方式响应的程序有用。如果程序不需要该信号,并且没有采取任何措施来忽略它,则默认行为是终止


请注意,SIGUSR2的特定信号编号有所不同。根据平台的不同,它可能是10、12、31,可能还有许多其他值。最好避免显式设置该值。唯一的信号号是1、2、3、6、9、14和15,因此9始终是
SIGKILL
,但是
SIGUSR2
可能(而且确实!)会发生变化。

如果要将
SIGUSR2
发送到进程,可以使用以下任一方法:

kill -SIGUSR2 $pid
kill -USR2 $pid
kill -10 $pid   # This will vary with platform
kill -SIGKILL $pid
kill -KILL $pid
kill -9 $pid

如果要向进程发送
SIGKILL
,可以使用以下任一方法:

kill -SIGUSR2 $pid
kill -USR2 $pid
kill -10 $pid   # This will vary with platform
kill -SIGKILL $pid
kill -KILL $pid
kill -9 $pid
不知道如何回答您关于“哪种情况”的问题。如果要发送
USR2
,则使用前3个命令之一。如果要发送
KILL
,请使用后者之一。您通常希望避免使用
KILL
,因为接收
KILL
的进程无法在其自身之后进行清理。另一方面,许多软件编写得很差,只能通过
SIGKILL
终止。通常认为发送
术语
,然后在第二次发送
术语
之前等待一段时间,然后在发送
杀死
之前再次等待会更礼貌
USR2
通常只对期望它并将以某种有用方式响应的程序有用。如果程序不需要该信号,并且没有采取任何措施来忽略它,则默认行为是终止


请注意,SIGUSR2的特定信号编号有所不同。根据平台的不同,它可能是10、12、31,可能还有许多其他值。最好避免显式设置该值。唯一的信号号是1、2、3、6、9、14和15,因此9始终是
SIGKILL
,但是
SIGUSR2
可能(而且确实!)会发生变化。

kill-l
为您提供信号。SIGUSR2(12)与SIGKILL(9)完全不同。除此之外,这在很大程度上取决于应用程序处理信号的方式,即SIGUSR2。例如,您可以使用
signal
(在C中)截获SIGUSR2并执行您想要的任何任务。
kill SIGUSR2 pid
在我看来像是一个kill语法错误。您可能会感兴趣。
kill-l
为您提供信号。SIGUSR2(12)与SIGKILL(9)完全不同。除此之外,这在很大程度上取决于应用程序处理信号的方式,即SIGUSR2。例如,您可以使用
signal
(在C中)截获SIGUSR2并执行您想要的任何任务。
kill SIGUSR2 pid
在我看来像是一个kill语法错误。你可能对我感兴趣。