SIGHUP信号

SIGHUP 信号,代表 "挂起"(hang up)。在与终端有关的会话中,SIGHUP 表示终端连接的丢失或关闭。

主要用途

  1. 终端断开

    • 当一个用户登出或一个与进程关联的终端关闭时,系统会向该进程发送 SIGHUP 信号。通知进程它的控制终端已不再可用。
  2. 重新加载配置

    • 一些守护进程(daemon)会捕获 SIGHUP 信号作为一种重新加载配置文件的方法。例如,一个 web 服务器在收到 SIGHUP 信号后,可能会重新读取其配置而不需要完全重启。这种行为通常是在程序设计时明确实现的。

常见示例

  • 忽略 SIGHUP

    有时,用户希望进程在终端关闭后继续运行。为了达到这个目的,进程可以通过调用 signal(SIGHUP, SIG_IGN) 来忽略该信号。

  • 使用 nohup 命令

    在 Linux 中,经常使用 nohup 命令来运行一个进程,使其在用户登出后仍然继续运行。

    bash 复制代码
    nohup command &

    nohup 将标准输出重定向到 nohup.out 文件,并防止进程接收 SIGHUP 信号。

信号编号

在大多数系统中,SIGHUP 信号的编号是 1。

结论

在终端中用来告诉进程终端关闭,收到信号的进程默认动作是结束自己;守护进程收到这种信号是重载配置文件的信号。

相关推荐
友友马16 分钟前
『 Linux 』网络层 - IP协议(一)
linux·网络·tcp/ip
猿java1 小时前
Linux Shell和Shell脚本详解!
java·linux·shell
A.A呐2 小时前
【Linux第一章】Linux介绍与指令
linux
Gui林2 小时前
【GL004】Linux
linux
ö Constancy2 小时前
Linux 使用gdb调试core文件
linux·c语言·vim
tang_vincent2 小时前
linux下的spi开发与框架源码分析
linux
xiaozhiwise2 小时前
Linux ASLR
linux
wellnw2 小时前
[linux] linux c实现共享内存读写操作
linux·c语言
a_安徒生2 小时前
linux安装TDengine
linux·数据库·tdengine
追风赶月、2 小时前
【Linux】线程概念与线程控制
linux·运维·服务器