PHP/Linux:Does';杀戮-9';等同于西格尔?
我正在看一段PHP代码,用于执行信号陷阱:PHP/Linux:Does';杀戮-9';等同于西格尔?,php,linux,signals,Php,Linux,Signals,我正在看一段PHP代码,用于执行信号陷阱: <?php /* SIGTERM for 'kill' default of -15 SIGINT for control-c */ declare(ticks = 1); pcntl_signal(SIGTERM, "signal_handler"); pcntl_signal(SIGINT, "signal_handler"); function signal_handler($signal) {
<?php
/*
SIGTERM for 'kill' default of -15
SIGINT for control-c
*/
declare(ticks = 1);
pcntl_signal(SIGTERM, "signal_handler");
pcntl_signal(SIGINT, "signal_handler");
function signal_handler($signal) {
switch($signal) {
case SIGTERM:
print "Caught SIGTERM\n";
exit;
case SIGKILL:
print "Caught SIGKILL\n";
exit;
case SIGINT:
print "Caught SIGINT\n";
exit;
}
}
while(1) {
//
}
?>
SIGKILL是否可以等同于“kill”命令的数字选项,例如“kill-9”?如果不是,什么条件会导致SIGKILL信号?谢谢 是的,你是对的。“kill-9”将等同于SIGKILL。从kill手册页:
“可通过三种方式指定备用信号:-9-SIGKILL-KILL。”
另外,如果您查看man 7信号:
"SIGKILL 9 Term Kill signal"
所以,是的-“kill-9”将发出SIGKILL信号。是的,信号9是SIGKILL。您可以运行kill-l并查看信号列表及其编号(手册页
signal(7)
也有更多信息)
然而,这种情况是没有用的。信号处理程序无法捕获SIGKILL(手册页中有详细信息)。因此,在switch语句中使用它是没有意义的。不是从PHP后台获得的,但它在这里是可能的