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ą disownpóźniej .
EDYCJA: Wygląda na to, że używanie nohupczasami 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 & disownprzeniesienie cię do terminala, który można zamknąć bez zabijania procesu.
program-name & disownto fajne rozwiązanie
Możesz użyć setsiddo uruchomienia programu w nowej sesji z dodatkiem, aby &>/dev/nullnie otrzymywać żadnych komunikatów dziennika.
Tak by było
setsid program-name &>/dev/null
Za pomocą screenpolecenia 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( screenale 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&.