В интернете нашел интересную информацию по поводу запуска команды в консоли операционной системы Linux, например Ubuntu.

Во многих мануалах написано, что для запуска команду в фоне, нужно в конце нее поставить амперсанд &.

При этом обычный запуск выглядит следующим образом:

watch data >> /tmp/data.txt

Запуск в фоне выполняется так:

watch data >> /tmp/data.txt &

Проблема в том, что при таком способе запуска программа в фоне заморозится и не будет работать, пока ее не вызовут в foreground командой fg. Это происходит из-за того, что родителем запускаемого процесса будет bash-шелл, и если программа будет продолжать работать, стандартный ввод/вывод данной программы будет путаться с вводом/выводом шелла.

Для правильного запуска без остановки в фоне выполняется команда:

(watch data >> /tmp/data.txt &)

При таком запуске родителем программы будет непосредстванно init.

P.S.: родителя запущенной программы можно увидеть через htop, переключившись на древовидное представление.

P.P.S.: первоисточник тут:
https://webhamster.ru/mytetrashare/index/mtb0/14075033802o20cd03u8


12th Июл 2017
Теги:
Загрузка Все права защищены © 2017 ИТ-Инженер (Краснодар)
 
把手拿回