Shell 使用kill-9和kill-SIGUSR2的区别
使用kill命令格式的操作有什么不同,在什么情况下使用哪种格式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 -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语法错误。你可能对我感兴趣。