Назад | Перейти на главную страницу

Понимание того, как правильно перевести фоновый процесс на передний план

Я хочу создать фоновый сценарий для длительного выполнения, и я знаю, что могу сделать это, используя следующее:

nohup ./install.sh &>/dev/null &

Однако я также понимаю, что если я выйду из этого сеанса, я больше не смогу видеть, как он работает, используя job, поскольку он будет запущен в другом сеансе, если я войду, а затем снова войду.

У меня вопрос, прежде чем я запускаю скрипт в фоновом режиме, могу ли я настроить его так, чтобы я мог вернуть этот скрипт на передний план позже? Даже после того, как я вышел из системы, а затем снова в нее?

Если вы правильно обосновали задачу, используя nohup каналы stdXX больше не будут подключаться к терминалу и не могут быть повторно подключены к терминалу.

Если вы хотите отсоединить процесс, а затем повторно подключить к нему, используйте screen вместо того nohup. Это дает вам два неисключительных варианта:

  • Переключитесь на другой экран, используя опцию мультиплексирования, чтобы продолжить работу в том же сеансе.
  • Отсоедините сеанс экрана и подключитесь к нему позже. Вы можете повторно подключиться из другого сеанса терминала. (Это мое основное использование screen.)

Некоторые люди предпочитают использовать экран в качестве среды своего терминала. Это позволяет им переключать сеанс во время работы. Затем они могут отсоединиться от экрана и оставить свои сеансы наготове до следующей готовности к работе.