LINUX.ORG.RU

Как может получиться (в C), что execv() завершает всю программу?


0

0

Ситуация такая% есть треды, в одном из них мы просим другой тред выполнить некое приложение. Попрошенный тред делает fork(), и в получившемся дочернем процессе вызывается execv(). Вопреки ожиданию, вся моя программа немедленно завершается с кодом 0, безо всяких комментариев. Причем нет никаких признаков того, что программа, запущенная execv-ом, была на самом деле запущена.

Люди добрае, в чем тут может быть дело? Я уже совсем голову сломал...
Заранее очень благодарю за любую помощь.

anonymous

Как может получиться (в C), что execv() завершает всю программу?

Да, забыл добавить, что после завершения программы ps показывает в списке процессов процесс с pid-ом родительского процесса (т.е. где вызывается fork()).

anonymous ()

Re: Как может получиться (в C), что execv() завершает всю программу?

а если через system делать?

ananas ★★★★★ ()

Re: Как может получиться (в C), что execv() завершает всю программу?

Да, system() работает. Однако хочется все же понять, почему не работает execv().

anonymous ()

Re: Как может получиться (в C), что execv() завершает всю программу?

код покажи

SadStork ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.