Как создать фоновую программу с execv - PullRequest
0 голосов
/ 27 апреля 2011

Я использую fork и execv для порождения дочерних программ. Как я могу заставить эти программы работать в фоновом режиме? Я пытался не ждать их, но они по-прежнему отправляют вывод на экран.

Ответы [ 2 ]

3 голосов
/ 27 апреля 2011

Перенаправить stdout / stderr на /dev/null перед выполнением:

freopen("/dev/null", "w", stdout);
freopen("/dev/null", "w", stderr);
exec....
1 голос
/ 27 апреля 2011

Вы можете использовать канал, чтобы перенаправить вывод дочернего процесса.Взгляните на этот квестон.Есть код, который делает перенаправление stdout и stderr на pipe.

...