#include <unistd.h>
#include <signal.h>
#include <sys/types.h>
#include <stdio.h>
void signal_handler(int signo)
{
return;
}
int main()
{
pid_t pid;
pid = getpid();
signal(SIGCONT, signal_handler);
printf("%d\n", pid);
sleep(100);
printf("hello");
return 0;
}
执行此代码并将SIGCONT信号传递给该过程时,它将在睡眠状态之外输出“ Hello”并终止。
另一方面,如果删除了上述信号处理程序并执行了代码,则即使将SIGCONT传递给该进程,它也不会唤醒。
有什么区别?
我使进程返回其pid,以使手动交付SIGCONT更加容易。