相关疑难解决方法(0)

为什么许多Unix程序使用像USR1这样的信号?

许多Unix程序接受像USR1和的信号USR2.例如,要动态升级Nginx的可执行文件,请发送kill -USR2.

我知道这USR1是一个"用户定义"信号,这意味着创建程序的人可以用它来表示"关闭"或"转储你的日志"或"打印foo一千次"或其他什么.但我不明白为什么他们必须使用这个任意名称.为什么不kill -UPGRADE,或kill -GRACEFUL_SHUTDOWN?Unix只允许特定信号吗?

当我们参与其中时,Nginx还使用以下信号(参见文档):

  • TERM,INT:快速关机
  • 退出:正常关机
  • HUP:
    • 配置重新加载
    • 使用新配置启动新的工作进程
    • 优雅地关闭旧的工作进程
  • USR1:重新打开日志文件
  • USR2:即时升级可执行文件
  • WINCH:正常关闭工作进程

HUP?绞车?这些名字的原因是什么?我在哪里可以了解更多相关信息?

unix signals

70
推荐指数
6
解决办法
5万
查看次数

有没有办法在Linux中创建用户定义的信号?

有没有办法在Linux中创建用户定义的信号?我的信号(信号编号)不应与任何现有信号编号匹配.

换句话说,我想创建我自己的唯一信号,它将由我的处理程序注册和捕获.

可能吗?如果有,怎么样?

提前致谢.

c linux signals

12
推荐指数
3
解决办法
1万
查看次数

标签 统计

signals ×2

c ×1

linux ×1

unix ×1