nixp.ru v3.0

17 октября 2017,
вторник,
07:06:15 MSK

DevOps с компанией «Флант»
athilson написал 21 октября 2004 года в 11:16 (472 просмотра) Ведет себя как мужчина; открыл 16 тем в форуме, оставил 19 комментариев на сайте.

Товарищи!

есть приведенный код. ожидается что в потоке выполниться какой-то процесс, основная программа дождется его выполнения и завершится. Но запускаемый в потоке процесс отрабатывает и как бы не завершается, т.е. до printf, fflush дело не доходит. Если execle делать в main, то все чик-пык. Почему так получается?

voig *go(void *) {

execle(PROC, PROC, «-A», NULL, NULL)

printf(«DONE!»); fflush(stdout);

pthread_exit(NULL);

}

int main() {

pthread_t tid;

pthread_create(&tid, NULL, go, NULL);

pthread_join(go, NULL);

return 0;

}

Uncle Theodore

Потому что exec переписывает твой процесс, почитай man exec

Good Luck,

UT