Execv заменяет текущий процесс, как это?

Если бы в моем коде я должен был вызвать execv, а затем у меня было несколько строк кода после вызова execv, будут ли выполнены эти строки или они не будут выполнены, поскольку все, что было запущено execv, заменяет текущий процесс?

3 ответа

Они не будут казнены, если только execv() звонок не удался. execv() полностью заменяет программу, запущенную в процессе, который ее вызывает.

Они не будут выполнены, если вы не разветвите поток и не вызовете execv только для одного из них.

Зависит от того, является ли код, следующий за execve, ветвью if/else/switch-case после вызова fork().

Смотрите также: Еще один вопрос от SO Fork-exec в Википедии

Другие вопросы по тегам