Команда экрана Functional Difference Between и Фоновый процесс

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

$ screen -d -m -S myapp "/opt/myapp-dir/myapp --some-params"

$ (/opt/myapp-dir/myapp --some-params &)

Принятие программы находится внутри /opt и чтения/записи из/в /tmp и /var/myapp-data.

2
задан 10 April 2017 в 17:48

1 ответ

  • screen - эмулятор терминала, который объединяет несколько виртуальных терминалов в один. Когда вы запустите команду screen, ваша программа начнет работать в окне виртуального терминала screen (вы можете назвать окно с опцией -t). Теперь вы можете отсоединиться от мультиплексора в любое время (используя C-a C-d, предполагая привязки по умолчанию) и вернуться в любое время и (повторно) подключиться к тому же сеансу screen, используя screen -rD (или аналогичное в зависимости от сеанса) status) и получит те же элементы управления

  • Фоновое изображение внутри подоболочки будет сокращено до SIGHUP, поскольку родительская оболочка не будет отслеживать внука, но вы не можете (напрямую) отслеживать / контролировать процесс больше, не говоря уже о возможностях подключения, которые предоставляет screen. Конечно, вы можете проверить состояние процесса с помощью PID (с помощью таких инструментов, как ps / top или напрямую проанализировать /proc/PID/), но я не знаю, будет ли этого достаточно в вашем случае. Таким образом, если вам нужно увидеть какие-либо выходные данные процесса (при условии, что перенаправление отсутствует) или вы хотите проверить / контролировать процесс, используйте screen / tmux / byobu или аналогичные.

2
ответ дан 2 December 2019 в 03:41

Другие вопросы по тегам:

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