Решено: Запуск программы без ожидания ее завершения

Модератор: Модераторы разделов

Аватара пользователя
GRS
Сообщения: 236
Статус: C++ Pro
ОС: Suse10.2/XP

Решено: Запуск программы без ожидания ее завершения

Сообщение GRS »

Можно ли каким-нибудь образом запустить из программу другую программу, и чтобы программа, которая запустила попрограмму, не ожидала ее ?
Т.е. грубо говоря мне нужна, чтобы моя программа, которая запускает подпрограмму, завершалось быстро, потому что подпрограмма делает очень много и долго и ждать ее не надо.
execl/system - ждут пока вызванная программа завершится.
Спасибо сказали:
Аватара пользователя
Женя Подсыпальников
Сообщения: 482

Re: Решено: Запуск программы без ожидания ее завершения

Сообщение Женя Подсыпальников »

Можа, запустить из отдельного потока ? :)
Пойдём на рыбалку !
Спасибо сказали:
svary
Сообщения: 49
ОС: Linux FC-9

Re: Решено: Запуск программы без ожидания ее завершения

Сообщение svary »

GRS писал(а):
28.05.2009 13:40
Можно ли каким-нибудь образом запустить из программу другую программу, и чтобы программа, которая запустила попрограмму, не ожидала ее ?

pid = fork();
if (pid > 0) exit(0); // Завершаем родителя без ожидания завершения потомка
if (pid < 0) perror("");
if (pid == 0) {
// Мы в дочернем процессе
sid = setsid(); // выходим из сессии родителя
execve(... // Запускаем нужную программу
}
Спасибо сказали:
Аватара пользователя
GRS
Сообщения: 236
Статус: C++ Pro
ОС: Suse10.2/XP

Re: Решено: Запуск программы без ожидания ее завершения

Сообщение GRS »

то что нужно.
+ еще одно спасибо за оперативный ответ :)
Спасибо сказали: