Как я могу переместить процесс в фон и также заставить его вывод замолчать?

Если Вы не имеете доступа к машине или не можете использовать команды, данные в предыдущих ответах, можно также найти это использованием пакета Debian веб-поисковая система (вторая форма, "Ищите содержание пакетов").

11
16.10.2011, 23:17
4 ответа

Слишком поздно. После того, как процесс запускается, оболочка больше не имеет контроля на дескрипторах файлов процесса, таким образом, Вы не можете заставить его замолчать командой оболочки.

Можно только попытаться уничтожить a SIGHUP к процессу. Если Ваш процесс обрабатывает его правильно, Это должно отсоединиться от управления tty. К несчастью многие программное обеспечение не обрабатывают его правильно и просто умирают.

9
27.01.2020, 19:58
  • 1
    разве Вы не можете сделать CTRL+Z для помещения процесса в фон? это не заставляет процесс замолчать, и если Вы выходите из системы, я думаю, что это уничтожает процесс также. –  Roy Rico 14.10.2011, 21:52
  • 2
    @RoyRico, уничтожая a SIGSTOP к процессу (или как Вы говорите, что выполнение CTRL+Z) не заставляет процесс замолчать. Это останавливает процесс! –  andcoz 15.10.2011, 01:38

Процесс, который выполняется от терминала, имеет свой stdin, stdout и stderr, связанный с терминалом, и Вы ничего не можете делать с этим, не восстанавливая управление тем терминалом... Обычно. Но существуют некоторые хитрые инструменты, которые на самом деле позволяют Вам сделать это. Взгляните на этот пример. И другие программы как retty упомянутый там.

5
27.01.2020, 19:58

Я не соглашаюсь с andcoz, что слишком поздно для глушения вывода.

Принятие процесса работает на переднем плане, использовать Ctrl-Z приостановить процесс. Выполнение так сообщит о числе задания и идентификаторе процесса. Можно идти вперед и переместить процесс в фоновое использование bg %1 (для задания № 1). Хотя это перемещает процесс в фон, он не заставляет вывод замолчать. Для глушения вывода, можно использовать gdb перенаправить весь вывод к /dev/null.

Это было очень приятно описано ранее в https://stackoverflow.com/questions/593724/redirect-stderr-stdout-of-a-process-after-its-been-started-using-command-lin/593764# 593764.

3
27.01.2020, 19:58

Еще один инструмент командной строки detach. Поддержки последней версии, пишущий pidfiles, с помощью файлов для stdin, stdout и stderr, и работая на переднем плане. (Веб-сайт detach также обсуждает подобные инструменты.)

http://inglorion.net/software/detach/

0
27.01.2020, 19:58

Теги

Похожие вопросы