【发布时间】:2026-01-05 04:50:02
【问题描述】:
我需要创建一个程序,该程序将创建处理进程的子进程。在调用 SIGXCPU 的情况下,子进程应该关闭,但是当收到其他信号时,进程不应该关闭,而是显示信息。如何更改信号处理程序函数以停止关闭我的进程?
我从第二个终端窗口调用信号。
void signals_handler(int signal) {
psignal(signal,"\nRecived signal");
printf("Signal number is: %d\n", signal);
return;
}
void sig_XCPU(int signal() {
signal(XCPU, sig_XCPU);
}
...
int main(void)
{
if(fork() == 0) {
print("PID: %d", getpid();
signal(SIGXCPU, sig_xcpu)
for(int = 1; i < 65; i++) {
if(i != 24) //SIGXCPU number
signal(i, signals_handler);
}
sleep(100);
return 0;
}
}
return 0;
}
【问题讨论】: