Предположим, что в какой-то момент в моей программе я использую execv
, и функция прошла успешно. Теперь моя программа изменилась. Что с ним случилось? (Все ли память автоматически стирается?)Что происходит с текущей программой после вызова функции execv?
-1
A
ответ
1
execve() не возвращается к успеху, а текст, данные, bss и стек вызывающего процесса перезаписываются загружаемой программой.
То есть все данные текущего процесса исчезнут, и новая программа будет загружена в память, заменив исходный процесс.
Возможный дубликат [Пожалуйста, объясните функцию exec() и ее семью] (http://stackoverflow.com/questions/4204915/please-explain-exec-function-and-its-family) –