Як я можу зберегти команду, яку я почав із запущеної оболонки, якщо я вийшов із оболонки?


12

Які існують методи, щоб зберегти команду, запущену з оболонки при запуску після виходу з оболонки?

Відповіді:


11
  • Щоб застосувати програму на другий план, використовуйте &:

    command &
    
  • Якщо ви хочете , щоб закрити термінал і зберегти роботу додатка, ви можете використовувати кілька варіантів: , і .screen Встановити екранdtach Встановити dtachnohup

    nohup command &
    
  • Екран корисний, оскільки ви можете перезапустити сеанс, а dtach - це також цікаво.

  • Перегляньте наступні посилання для отримання додаткової інформації


Хіба що додавання &в кінці команди теж не працює?
theTuxRacer

2
@ Kaustubh-P, використовуючи &, часто є хорошим звичаєм закривати термінали за допомогою команди "вихід", не натискаючи кнопку "Закрити". що все ще може змусити фонові програми вийти.
karthick87

5

Використовуйте команду nohup так:

nohup gedit /home/user/file.txt &

Як навіть видалити nohup: ігноруючи введення та перенаправляючи stderr на stdout
Amruth A

5

Корисна команда (bash?) disown. приємно в тому, що він працює для вже запущеної роботи (до речі, ви відмовляєтеся від роботи, а не в процесах, тому вам потрібно зробити ctrl-Z, bgперед тим, як запустити відмови від роботи. Наприклад, уявіть собі, що ви робите наступне:

local % ssh some.where.com
remote % verylongscript.sh

Тепер ви розумієте, що вам потрібно йти, але не хочете, щоб сценарій був убитий при виході, так що ви

ctrl-Z
remote % bg
remote % disown
remote % exit
local %

Тепер remoteваш сценарій все ще працює.


1

я використовую

nohup mycommand &

Наприклад, щоб створити віртуальний сервер VirtualBox, я набираю наступне у віддаленій оболонці (яку я закриваю тоді):

nohup VBoxHeadless --startvm "myvm" --vrdp=off &
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.