Припустимо, gedit
це програма, яку ви хочете запустити окремо (т.к. "відключений", "роз'єднаний", "роз'єднаний"). Існують різні способи залежно від того, що саме ви хочете зробити:
Програма вже запущена
Відхилено:
disown -h
це шлях, якщо ви хочете зробити це за допомогою вже запущеної програми (тобто якщо ви забули про nohup
неї). Спочатку потрібно припинити це за допомогою Ctrl+ Z. Потім ви можете розмістити у фоновому режимі, використовуючи bg [jobId]
(наприклад bg 1
). Ви отримуєте перелік запущених завдань із використанням їх ID-роботи jobs
. Після цього ви можете від'єднати його від використання терміналу disown -h %[jobId]
. Приклад термінального сеансу:
$ gedit
^Z
[1]+ Stopped gedit
$ jobs
[1]+ Stopped gedit
$ bg 1
[1]+ gedit &
$ disown -h %1
$ exit
Програма ще не запущена
nohup
nohup
не завжди присутній на всіх машинах. Якщо ви знаєте, що хочете заздалегідь роз’єднати, скористайтеся:
nohup gedit &
Може бути , ви хочете , щоб перенаправити висновок оболонки , а також і своїй програмі джерело вхідного сигналу псевдо, так: nohup ./myprogram > foo.out 2> bar.err < /dev/null &
. Ви хочете перенаправити вихід, щоб він або не дратувався ним, або використовувати його пізніше. Null-input може допомогти запобігти hickups в ssh a.
Абонемент:
Подібного ефекту можна досягти шляхом
$ (geany >/dev/null 2>&1 &)
Дужки відкривають нову підзарядку для запуску gedit. >/dev/null 2>&1
Перехід направляє оболонку в нікуди (пригнічуючи вихід). І &
в кінці ставить процес на другий план.
Термінальне мультиплексування
Також термінальне мультиплексування за допомогою екрана або byobu . Ви в основному запускаєте програму у власному терміналі. Я також можу порекомендувати byobu і з інших причин. Нижче наведено список ярликів для boybu, які можуть стати в нагоді для ваших перших кроків:
Корисно:
- F2 Створіть нове вікно
- F3 Перехід до наступного вікна
- F4 Перехід до попереднього вікна
- F6 Відмовитися від сеансу та виходу
- Shift-F6 Відійдіть від сеансу, але не виходите з системи
- F7 Введіть режим прокрутки / пошуку
- Ctrl-F5 Підключіть будь-які розетки або агенти SSH / GPG
Менш корисне:
- Shift-F2 Розділити екран горизонтально
- Ctrl-F2 Розділити екран вертикально
- Shift-F3 Перемістіть фокус на наступний розкол
- Shift-F4 Перемістіть фокус на попередній розкол
- Shift-F5 Згорнути всі розколи
- F5 Оновити всі сповіщення про стан
- F8 Перейменуйте поточне вікно
- F9 Запустіть меню конфігурації Byobu
- F12 Клавіша втечі екрана GNU
- Alt-Pageup Прокрутіть історію цього вікна
- Alt-Pagedown Прокрутіть вперед історію цього вікна
- Ctrl-a-! Увімкніть або вимкніть усі клавіші Byobu
Демон "на" та інші
at
це хороший корисний маленький інструмент для запуску команди в запланований час. Вилучити команду з оболонки можна "неправильно":
echo './myprogram myoption1 myoption2' | at now
Також можна вивчити setsid
і start-stop-daemon
, але інших методів повинно вистачити.