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

   2024-09-30 4400
核心提示:在 Linux 下,你可以使用 C 语言编写一个程序来捕获并处理 SIGHUP 信号#includestdio.h#include stdlib.h#includesignal.h#inclu

在 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_examplekill -HUP [PID]

[PID] 替换为实际的进程 ID。程序将捕获 SIGHUP 信号并输出 “Received SIGHUP, ignoring…”。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号