Załóżmy, gedit
że program, który chcesz uruchomić, jest odłączony (alias. „Disowned”, „disentangled”, „decoupled”). Istnieją różne sposoby, w zależności od tego, co chcesz zrobić dokładnie:
Program już działa
Zapierać się:
disown -h
jest właściwą drogą, jeśli chcesz to zrobić z już działającym programem (tj. jeśli go zapomniałeś nohup
). Najpierw musisz go zatrzymać za pomocą Ctrl+ Z. Następnie możesz umieścić w tle za pomocą bg [jobId]
(np bg 1
.). Otrzymasz listę uruchomionych zadań wraz z ich zleceniem jobs
. Następnie możesz oddzielić go od terminala za pomocą disown -h %[jobId]
. Przykładowa sesja terminalowa:
$ gedit
^Z
[1]+ Stopped gedit
$ jobs
[1]+ Stopped gedit
$ bg 1
[1]+ gedit &
$ disown -h %1
$ exit
Program jeszcze się nie rozpoczął
nohup
nohup
nie zawsze jest obecny na wszystkich komputerach. Jeśli wiesz, że chcesz wcześniej odłączyć, użyjesz:
nohup gedit &
Może chcesz przekierować wyjście powłoki, jak również i swój program do źródła sygnału pseudo, więc: nohup ./myprogram > foo.out 2> bar.err < /dev/null &
. Chcesz przekierować dane wyjściowe, aby nie drażnić się nimi lub użyć ich później. Dane wejściowe o wartości NULL mogą pomóc w zapobieganiu błędom w ssh.
Podkładka:
Możesz osiągnąć podobny efekt przez
$ (geany >/dev/null 2>&1 &)
Nawiasy otwierają nową podpowłokę, w której można uruchomić gedit. >/dev/null 2>&1
Przekierowuje wyjście powłoki do nikąd (pomijanie wyjścia). A &
na końcu umieszcza proces w tle.
Multipleksowanie terminali
Także multipleksowanie terminali przy użyciu ekranu lub Byobu . Zasadniczo uruchamiasz program we własnym terminalu. Naprawdę mogę polecić byobu również z innych powodów. Poniżej znajduje się lista skrótów boybu, które mogą się przydać przy pierwszych krokach:
Przydatny:
- F2 Utwórz nowe okno
- F3 Przejdź do następnego okna
- F4 Przejdź do poprzedniego okna
- F6 Odłącz od sesji i wyloguj się
- Shift-F6 Odłącz się od sesji, ale nie wylogowuj się
- F7 Wejdź w tryb przewijania / wyszukiwania
- Ctrl-F5 Ponownie podłącz wszelkie gniazda SSH / GPG lub agentów
Mniej przydatne:
- Shift-F2 Podziel ekran w poziomie
- Ctrl-F2 Podziel ekran pionowo
- Shift-F3 Przenieś fokus do następnego podziału
- Shift-F4 Przenieś fokus na poprzedni podział
- Shift-F5 Zwiń wszystkie podziały
- F5 Odśwież wszystkie powiadomienia o stanie
- F8 Zmień nazwę bieżącego okna
- F9 Uruchom menu konfiguracji Byobu
- F12 Klawisz Escape ekranu GNU
- Alt-Pageup Przewiń historię tego okna
- Alt-Pagedown Przewiń do przodu historię tego okna
- Ctrl-a-! Włącz lub wyłącz wszystkie skróty klawiszowe Byobu
Demon „at” i inne
at
jest fajnym, przydatnym, małym narzędziem do uruchamiania poleceń w zaplanowanym czasie. Można „nadużyć”, aby odłączyć polecenie od powłoki:
echo './myprogram myoption1 myoption2' | at now
Możesz także zajrzeć do setsid
i start-stop-daemon
, ale inne metody powinny wystarczyć.