Linux下如何捕获并处理SIGHUP信号

avatar
作者
猴君
阅读量: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…”。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!