Форум программистов CodeGuru
18 Январь 2018, 10:08:46 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости:
 
   Начало   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Как сделать так, чтобы дочерний процесс не выводил ничего в консоль ?  (Прочитано 16095 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
Aeron
Пользователь
***
Офлайн Офлайн

Сообщений: 49


Просмотр профиля
« : 21 Декабрь 2007, 08:04:21 »

В продолжение этой темы...
Из моего приложения (запущенного из консоли) я запускаю дочерний процесс. Моя программа в процессе работы выводит в консоль некоторую информацию (и до и после запуска дочернего процесса).
Но дочерний процесс также выводит что то в консоль. Эта информация оказывается в том тексте, что выводит мое приложение.
Вопрос в том, можно ли запретить дочернему процессу вообще выводить что либо в консоль ?
Записан
3V
Администратор
Ветеран
*****
Офлайн Офлайн

Сообщений: 1347



Просмотр профиля WWW
« Ответ #1 : 22 Декабрь 2007, 00:01:44 »

Есть мнение, что можно в порожденном процессе перед exec* закрыть STDOUT.
Записан

Aeron
Пользователь
***
Офлайн Офлайн

Сообщений: 49


Просмотр профиля
« Ответ #2 : 22 Декабрь 2007, 15:02:36 »

А как это сделать не подскажете ?
Записан
3V
Администратор
Ветеран
*****
Офлайн Офлайн

Сообщений: 1347



Просмотр профиля WWW
« Ответ #3 : 10 Январь 2008, 21:53:42 »

Код:
close(0)
Или как то так.
Для STDOUT константа какая то скорее всего объявлена. Просто лениво смотреть, сорри.
Записан

NightCon
Новичок
*
Офлайн Офлайн

Сообщений: 2


Просмотр профиля
« Ответ #4 : 15 Март 2008, 00:01:00 »

А просто перенаправить вывод в /dev/null нельзя при запуске дочернего процесса? Если не fork'ом конечно запускается.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!