要测试Linux系统中SIGHUP信号的传递,你可以使用以下方法:
#include<stdio.h>
#include <stdlib.h>
#include<signal.h>
#include <unistd.h>
void sighup_handler(int signum) {
printf("Received SIGHUP signal, pid = %d\n", getpid());
}
int main() {
signal(SIGHUP, sighup_handler);
while (1) {
sleep(1);
}
return 0;
}
sighup_test.c
,并使用gcc编译器编译它:gcc -o sighup_test sighup_test.c
./sighup_test
ps
命令找到sighup_test
进程的PID(进程ID):ps aux | grep sighup_test
kill
命令向sighup_test
进程发送SIGHUP信号:kill -HUP [PID]
将[PID]替换为实际的进程ID。
sighup_test
的终端,你应该会看到类似以下的输出:Received SIGHUP signal, pid = [PID]
这表明SIGHUP信号已成功传递给了sighup_test
进程。