просто быстрый вопрос относительно C и процессов. В моей программе я создаю еще один дочерний процесс и использую двунаправленный канал для связи между дочерним и родительским. Ребенок вызывает execl() для запуска еще одной программы.Работа с процессами в C
Мой вопрос: Я хочу, чтобы родитель подождал n секунд, а затем проверьте, завершилась ли программа, которую выполнял ребенок (и с каким статусом). Что-то вроде waitpid(), но если ребенок не выйдет через n секунд, я хотел бы сделать что-то другое.
waitpid() маршрут кажется лучшим. есть ли способ, которым я могу использовать waitpid(), чтобы получить значение выхода последнего дочернего процесса? и я предполагаю, что SIGCHLD выполняет обратный вызов, когда ребенок выходит из системы? – Gary