SIGUSR1和USR1有什么区别?

3

在杀死进程时,SIGUSR1与USR1之间是否有任何区别?

例:

kill -SIGUSR1 {pid}

or

kill -USR1 {pid}

2个回答

3

0
事实上,它们之间肯定有区别。某些进程只会监听USR1信号。例如nginx就是这样的一个例子。根据你要终止的程序,确保它具有适当的信号监听器以响应使用kill发送的信号。
例如,如果你正在对nginx进行日志轮换,则nginx将不会监听SIGUSR1信号。我是通过艰难的方式发现这一点的。
/var/log/nginx/*.log {
    daily
    rotate 10
    compress
    create 0640 www-data adm

    missingok
    notifempty

    # Signal the running nginx process exactly once to make it use the new log file.
    sharedscripts
    postrotate
        [ -f /var/run/nginx.pid ] && kill -USR1 $(cat /var/run/nginx.pid)
    endscript
}

1
我认为你需要解释一下。据我所知,发送到进程并由进程接收的信号无论在kill命令中写什么都没有区别。Nginx不应该能看到差异。也许你的系统上的kill命令不理解SIGUSR1语法? - Thomas Padron-McCarthy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接