Вызвать скрипт из программы на Си (не дожидаясь конца его выполнения)
Модератор: Модераторы разделов
-
GRS
- Сообщения: 236
- Статус: C++ Pro
- ОС: Suse10.2/XP
Вызвать скрипт из программы на Си
system() - ждем пока вызванная программа/скрипт завершится - а если мне не нужно ждать, как сделать так, чтобы программа продолжила работу - а другой процесс отдельно от него ?
-
uptime
- Сообщения: 1661
- Статус: Drinker with computing problems
- ОС: kubuntu 8.04
Re: Вызвать скрипт из программы на Си
а если в конец команды амперсанд (&) добавить?
The answer, my friend, is blowin' in the wind.
The answer is blowin' in the wind.
The answer is blowin' in the wind.
-
nesk
- Сообщения: 2268
- Статус: Линукссаксовец
- ОС: MS Windows XP Home SP3
Re: Вызвать скрипт из программы на Си
использовать fork и функцию из семейства exec
Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.
0xDEFEC8ED
0xDEFEC8ED
-
uptime
- Сообщения: 1661
- Статус: Drinker with computing problems
- ОС: kubuntu 8.04
Re: Вызвать скрипт из программы на Си
да. Это если вам нужно контролировать время завершения и возвращаемое значение.
The answer, my friend, is blowin' in the wind.
The answer is blowin' in the wind.
The answer is blowin' in the wind.
-
nesk
- Сообщения: 2268
- Статус: Линукссаксовец
- ОС: MS Windows XP Home SP3
Re: Вызвать скрипт из программы на Си
если не нужно, надо просто поставить игнор на сигнал SIGCHLD
Тогда дочерний процесс при завершении не будет становиться зомби.
А вообще system делает fork, потом exec в сыне и wait в отце. Именно wait заставляет ждать завершения дочернего процесса.
Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.
0xDEFEC8ED
0xDEFEC8ED
-
GRS
- Сообщения: 236
- Статус: C++ Pro
- ОС: Suse10.2/XP
-
halturin
- Сообщения: 167
- ОС: Linux
Re: Вызвать скрипт из программы на Си
мне так кажется, что не решен... ибо есть шанс наплодить зомби.
-
minoru-kun
- Сообщения: 621
- ОС: Debian GNU/Linux
-
uptime
- Сообщения: 1661
- Статус: Drinker with computing problems
- ОС: kubuntu 8.04
Re: Вызвать скрипт из программы на Си
The answer, my friend, is blowin' in the wind.
The answer is blowin' in the wind.
The answer is blowin' in the wind.
-
GRS
- Сообщения: 236
- Статус: C++ Pro
- ОС: Suse10.2/XP
Re: Вызвать скрипт из программы на Си
у меня приложение тестер - просто мне было влом писать код (нужно было подключать новый сетевой интерфейс, кодеры/декодеры), который бы отправлял запрос, потому как уже давно есть перловый скрипт на 15 строчек, который все нужное делает.
Дело просто в том, что я создал прогу тестер, которая шлет запрос и в то время пока сервер этот запрос обрабатывает он (сервер) шлет другие запросы, которые тестер должен обработать. Полсе того как тестер обработает запросы он шлет их серверу и только после этого сервер присылает ответ на тот первый запрос, после чего так еще куча нестаднртных и нелогичных действий, присущих тестерам
Так что - даже если мертвяки плодятся не страшно (хотя скрипт завершается нормально, не висит), т.к. это всего лишь тестер для основной программы.