Я хотел бы дождаться, когда раздвоенный дочерний процесс завершит выполнение, хотя я не хочу ждать бесконечно, но максимум для данного времени, а затем убить ребенка, если он еще работает.Как подождать, пока процесс ребенка завершится с лимитом?
wait(2) на Linux говорит:
В противном случае они блокируют до тех пор, как ребенок не изменяет состояние или обработчик сигнала прерывания вызова (при условии, что системные вызовы не автоматически перезапущена с использованием SA_RESTART флаг sigaction (2)) ,
Может кто-то показать мне пример того, как я должен настроить сигнал прерывания ждет по истечении заданного времени, а затем продолжить выполнение ?
Один из вариантов - создать второй дочерний процесс таймера, который завершится и, таким образом, изменит состояние после таймера. Тогда либо исходный ребенок, либо дочерний таймер могут завершить состояние ожидания родителя. – abiessu
Насколько точны вы после? Целые секунды OK или секунды? –
Время ожидания обычно должно составлять 0,1 - 1 секунду. –