W terminalu Ubuntu uruchamiam wiele programów, ale chciałbym móc korzystać z terminala po otwarciu programu. Jak mogę umieścić programy w tle, aby nie musiałem otwierać kolejnego okna?
W terminalu Ubuntu uruchamiam wiele programów, ale chciałbym móc korzystać z terminala po otwarciu programu. Jak mogę umieścić programy w tle, aby nie musiałem otwierać kolejnego okna?
Odpowiedzi:
Istnieją różne sposoby uruchamiania programu terminalowego i dalszego korzystania z terminala:
&
do uruchamianego polecenia. Pamiętaj, że nie zobaczysz tekstu wysyłanego do terminala, takiego jak komunikaty o błędach.bg
. Ma to taki sam efekt jak bieganiecommand &
nohup command &
a następnie naciśnij klawisz Enter. (Dzięki ccpizza , patrz komentarze poniżej.)Jednak naciśnięcie Alt- F2a następnie uruchomienie polecenia z GUI jest zwykle uważane za najlepszą praktykę - w ogóle nie ma terminala!
Zauważ, że podczas używania &
(nie nohup
) zamknięcie terminalu spowoduje zakończenie aplikacji, chyba że uruchomisz ją disown
później .
EDYCJA: Wygląda na to, że używanie nohup
czasami pozostawia niewielkie odchody w folderze domowym. To, co normalnie byłoby zalogowane do terminala, najwyraźniej jest zapisywane w pliku w ~ /.
~~
Prostym sposobem uruchomienia programu w tle jest program-name & disown
przeniesienie cię do terminala, który można zamknąć bez zabijania procesu.
program-name & disown
to fajne rozwiązanie
Możesz użyć setsid
do uruchomienia programu w nowej sesji z dodatkiem, aby &>/dev/null
nie otrzymywać żadnych komunikatów dziennika.
Tak by było
setsid program-name &>/dev/null
Za pomocą screen
polecenia można otworzyć wiele sesji terminala za pomocą jednego okna i stuknąć
apt-get install screen (On Debian based Systems)
yum install screen (On RedHat based Systems)
screen
(uruchom nowy ekran)
[Your command]
Ctrl+A d
opuścić ekran ... i tak dalej
Możesz uruchomić go w wirtualnym terminalu, takim jak tmux
( screen
ale słyszałem, że nie jest już utrzymywany)
# This ataches your terminal to a virtual terminal
tmux
run_your_command
# This detaches your virtual terminal (previous command can be running)
CTRL-b d
run_other_commands # on your terminal
# re-attach the virtual terminal to see the status of run_your_command
tmux a
tmux
może zrobić o wiele więcej, na przykład:
https://www.hamvocke.com/blog/a-quick-and-easy-guide-to-tmux/
nohup firefox&
.