#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 вручную.
sleep
). Здесь есть два разных употребления слова «сон». - person William Pursell   schedule 03.06.2020