阅读量:0
在 Linux 下,你可以使用 C 语言编写一个程序来捕获并处理 SIGHUP 信号
#include<stdio.h> #include <stdlib.h> #include<signal.h> #include <unistd.h> // 信号处理函数 void handle_sighup(int signum) { printf("Received SIGHUP, ignoring...\n"); } int main() { // 注册信号处理函数 signal(SIGHUP, handle_sighup); // 主循环,让程序持续运行 while (1) { printf("Program is running...\n"); sleep(5); } return 0; }
要编译并运行此程序,请将代码保存到名为 sighup_example.c
的文件中,然后在终端中运行以下命令:
gcc sighup_example.c -o sighup_example ./sighup_example
现在,你可以在另一个终端中使用 kill
命令发送 SIGHUP 信号给这个程序。首先,找到程序的进程 ID(PID),然后发送信号:
ps aux | grep sighup_example kill -HUP [PID]
将 [PID]
替换为实际的进程 ID。程序将捕获 SIGHUP 信号并输出 “Received SIGHUP, ignoring…”。