要測試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
進程。