Execv заменяет текущий процесс, как это?
Если бы в моем коде я должен был вызвать execv, а затем у меня было несколько строк кода после вызова execv, будут ли выполнены эти строки или они не будут выполнены, поскольку все, что было запущено execv, заменяет текущий процесс?
3 ответа
Они не будут казнены, если только execv()
звонок не удался. execv()
полностью заменяет программу, запущенную в процессе, который ее вызывает.
Они не будут выполнены, если вы не разветвите поток и не вызовете execv только для одного из них.
Зависит от того, является ли код, следующий за execve, ветвью if/else/switch-case после вызова fork().
Смотрите также: Еще один вопрос от SO Fork-exec в Википедии