|
|
|
Запуск shell cкрипта из программы на Си
|
|||
|---|---|---|---|
|
#18+
Как запустить shell-cкрипт из программы на Си или linux-команду? Можете привести пример. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2006, 11:23 |
|
||
|
Запуск shell cкрипта из программы на Си
|
|||
|---|---|---|---|
|
#18+
htttКак запустить shell-cкрипт из программы на Си или linux-команду? Можете привести пример. Семейство функций exec (на 3-й странице мана). Запускаемая программа заменит собой вашу, поэтому, если необходимо продолжать вашу программу выполните ее разделение функцией fork Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2006, 11:34 |
|
||
|
Запуск shell cкрипта из программы на Си
|
|||
|---|---|---|---|
|
#18+
Ну самое простое сказать system и ждать завершения. Нк а едели ждать не хочется то то fork + exec*, я предпочитаю execv? и для познания результата отловить SIGCHLD и спросить wait_pid ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2006, 12:17 |
|
||
|
Запуск shell cкрипта из программы на Си
|
|||
|---|---|---|---|
|
#18+
Систем не рекомендуют 1. игнорирует SIGINT и SIGQUIT 2. Какие-то переменные окружения могут вызвать сбои в системе, если в программах есть какие-то там привелегии. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2006, 12:29 |
|
||
|
Запуск shell cкрипта из программы на Си
|
|||
|---|---|---|---|
|
#18+
Как можно прочитать вывод shell-команды в Си-программе? Например вывод команды iptables -L для последующего отображения и обработки. Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2006, 08:56 |
|
||
|
Запуск shell cкрипта из программы на Си
|
|||
|---|---|---|---|
|
#18+
Можно попробовать перенаправить стандартный выход опциями. Не факт, что получится. Если получится, то перенаправить можно в файл или какой - нибудь программе, которая запуситится и передаст, например, по fifo данные основной прогрмаммы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2006, 09:43 |
|
||
|
Запуск shell cкрипта из программы на Си
|
|||
|---|---|---|---|
|
#18+
httt, тут несколько решений. Самаое простое и стандартное - запускать процесс функцией popen. А можно вручную - исспользовать pipe совместно с fork/exec и читать stdout порожденного процесса. Что собственно и реализовано в различных shell-ах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2006, 09:54 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=335&tid=2030504]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
76ms |
get topic data: |
14ms |
get forum data: |
4ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 416ms |

| 0 / 0 |
