许多Unix程序接受像USR1和的信号USR2.例如,要动态升级Nginx的可执行文件,请发送kill -USR2.
我知道这USR1是一个"用户定义"信号,这意味着创建程序的人可以用它来表示"关闭"或"转储你的日志"或"打印foo一千次"或其他什么.但我不明白为什么他们必须使用这个任意名称.为什么不kill -UPGRADE,或kill -GRACEFUL_SHUTDOWN?Unix只允许特定信号吗?
当我们参与其中时,Nginx还使用以下信号(参见文档):
HUP?绞车?这些名字的原因是什么?我在哪里可以了解更多相关信息?
有没有办法在Linux中创建用户定义的信号?我的信号(信号编号)不应与任何现有信号编号匹配.
换句话说,我想创建我自己的唯一信号,它将由我的处理程序注册和捕获.
可能吗?如果有,怎么样?
提前致谢.