Я пытаюсь выяснить, как запустить команду в фоновом режиме, а затем вывести ее на передний план позже. Я устал от учебников и ответов, где люди заявляют, что это просто, просто добавьте & в конец команды, чтобы запустить его в фоновом режиме. Он работает только в одном окне терминала. Я хочу поместить команду в фоновый режим на одном терминале и вернуть ее обратно на передний план после повторного открытия терминала
Пример:
$ grunt &
$ jobs
$ [1]+ Running grunt &
Конечно, после закрытия терминала ни одна работа не является
Следующий пример:
$ grunt & disown #the same behavior has: $ setsid grunt &
$ jobs
$ [nothing] #but ps shows that grunt is working
after close terminal, grunt doesn't work
Что я сделал неправильно? Может кто-нибудь объяснить мне, как запустить команду в фоновом режиме и вернуть ее на передний план.
sudo apt-get install screen
Запустить screen: screen -S session_name
Выполнить свои команды, что вам нужно. Отсоедините screen от терминала (ваши команды все еще будут работать): Нажмите CTRL + a + d Закрыть терминал. Откройте другой терминал и снова подключите последний сеанс screen: screen -r
Для получения дополнительной информации и дополнительные опции для screen смотрите в man screen.
Вы пробовали: byobu или tmux, которые являются терминальными мультиплексорами.
byobu-screen
Затем запустите свою команду, чтобы отсоединить:
byobu-screen -d
. Чтобы возобновить:
[ f3]См. https://help.ubuntu.com/community/Screen