⚡️ Linux может передать в SIGCHLD гораздо больше, чем просто «дочерний процесс завершился
» Обычно с дочерними процессами делают так: ловят SIGCHLD, а потом отдельно вызывают waitpid(), чтобы узнать, кто завершился и с каким статусом. Но есть более интересный режим - SA_SIGINFO. Если повесить обработчик через sigaction() и включить флаг SA_SIGINFO, ядро передаст в обработчик структуру siginfo_t с деталями по дочернему процессу. Там уже есть: • PID дочернего процесса • статус завершения • сигнал, если процесс был убит сигналом • причина генерации SIGCHLD • код события: завершился,...