Jak utrzymać działanie aplikacji po zamknięciu terminala?

17

Jestem nowy w Ubuntu. Użyłem Sublime Text. Zdałem sobie sprawę, że po otwarciu Sublime Text z terminala, jeśli zamknę terminal, aplikacja będzie nadal działać. To samo nie dotyczy innych aplikacji, takich jak geany.

Po otwarciu aplikacji z terminala, kiedy zamykam terminal, aplikacja również się zamyka. Próbowałem &exitjak geany &exit. Ale nie tego szukam.

Jak mogę kontynuować geanybieg nawet po jego zamknięciu?

eddard.stark
źródło
1
Możesz zobaczyć tutaj unix.stackexchange.com/questions/4004/…
Abdelhak Bougouffa
nohup geany & disown działa dla mnie najlepiej
eddard.stark

Odpowiedzi:

25

W oknie terminala wpisz

nohup geany > /dev/null

lub

nohup geany >/dev/null &

nohuppozwala na uruchamianie aplikacji i odporny na zawieszanie się, więc zamknięcie okna terminala nie miałoby wpływu na uruchamianie aplikacji. Dodanie >/dev/nulldo polecenia uniemożliwia utworzenie nohup.outw każdym katalogu, z którego uruchamiana jest aplikacja.

Ze strony podręcznika:

NAME
       nohup - run a command immune to hangups, with output to a non-tty

SYNOPSIS
       nohup COMMAND [ARG]...
       nohup OPTION
Terrance
źródło
@ eddard.stark Nie ma za co! =)
Terrance,
2
Może nohup geany > /dev/nulllub nohup geany > /dev/null &, aby zapobiec tworzeniu nohup.outpliku w bieżącym katalogu roboczym za każdym razem, gdy komenda jest uruchamiana
Kos
Nie ma problemu, już głosowałem (przy okazji, ogólnie rzecz biorąc, nie zawracaj sobie głowy nawet przypisywaniem mi tego postu za tak małe ulepszenie!)
Kos
1
@kos OK, usunąłem go. Ale jeszcze raz dziękuję za przypomnienie. Czasami zapominam o niektórych prostych rzeczach, aby zatrzymać tworzenie wyjściowego dziennika. Naprawdę czekam na dobre sugestie od innych. =)
Terrance,
1
Często dane wyjściowe przebiegu są pomocne / ważne dla monitorowania statusu lub śledzenia tego, co zostało zrobione. W tym przypadku chciałbyś użyć czegoś takiego nohup run1_cmd.sh > run1.out .
Steven C. Howell,
10

Jako alternatywę nohupmożesz użyć wbudowanej powłoki disown. disownusuwa zadania z listy zadań, a gdy powłoka istnieje, SIGHUPnie jest wysyłana do tego procesu.

geany &
disown
exit
mniip
źródło
2

Możesz użyć exec geany & exit(zwróć uwagę na exec i ampersand), jeśli nie potrzebujesz roota i pkexec geany & exitjeśli potrzebujesz uprawnień roota.

Erkin Alp Güney
źródło