Forum Webscript.Ru

Программирование => Perl => Тема начата: Skif от 24 Декабря 2004, 14:23:07

Название: замена system с точки зрения безопасности
Отправлено: Skif от 24 Декабря 2004, 14:23:07
Собственно сабж. Мне нужно по ходу выполнять несколько процессов не выходя из кода. По соображениям безопасности и красивости кода не охота применять system
Вариант fork + exec, но у меня процессы взаимосвязаны и занимают n-ное время. не всегда одинаковое. то есть просто sleep сказать мало на этот период. Вот и собственно вопрос: альтернатива с точки зрения безопасности?
Название: замена system с точки зрения безопасности
Отправлено: arto от 24 Декабря 2004, 15:20:41
# perldoc -f system
       system LIST
       system PROGRAM LIST
               Does exactly the same thing as "exec LIST", except that a fork
               is done first, and the parent process waits for the child pro-
               cess to complete.
Название: замена system с точки зрения безопасности
Отправлено: Skif от 24 Декабря 2004, 18:25:12
Оно-то хорошо, вот только у меня народ софтинку не хотит принимать. Грит это не безопасный код, где присутствует system Хочется реально взглянуть, что может быть заменой или опровержением этого утверждения
Название: замена system с точки зрения безопасности
Отправлено: Skif от 24 Декабря 2004, 18:29:07
тогда может альтернативный вопрос, а как из родительского процесса убедиться, что дочерний завершил работу? Я понимаю, что можно проверять на наличие ID, но к примеру дочерний проработает сегодня 5 сек, а завтра всего одну. на сколько sleep включать или по кругу бахать? может есть все же альтернатива? так что бы до тех пор пока дочерний не умрет родительский заснул?
Название: замена system с точки зрения безопасности
Отправлено: 2NetFly от 24 Декабря 2004, 19:24:23
Skif, читай про сигналы.
Название: замена system с точки зрения безопасности
Отправлено: arto от 25 Декабря 2004, 13:37:31
perldoc -f wait
Название: замена system с точки зрения безопасности
Отправлено: Skif от 27 Декабря 2004, 10:37:22
спасибо! Оно. Хотя сейчас почитал немного доки в этом направлении, думаю, что waitpid будет даже лучше. Но все равно спасибо за пинок туда куда надо.