Próbuję dowiedzieć się, jak uruchomić polecenie w tle, a następnie przenieść je na pierwszy plan. Mam dość samouczków i odpowiedzi, w których ludzie twierdzą, że to proste, wystarczy dołączyć &
na końcu polecenia, aby uruchomić go w tle. Działa tylko w jednym oknie terminala. Chcę umieścić polecenie w tle w jednym terminalu i przywrócić je na pierwszym planie po ponownym otwarciu terminalu
Przykład:
$ grunt &
$ jobs
$ [1]+ Running grunt &
Oczywiście po zamknięciu terminalu nie znaleziono żadnej pracy.
Następny przykład:
$ grunt & disown #the same behavior has: $ setsid grunt &
$ jobs
$ [nothing] #but ps shows that grunt is working
after close terminal, grunt doesn't work
Co zrobiłem źle? Czy ktoś mógłby mi wyjaśnić, jak uruchomić polecenie w tle i przywrócić je na pierwszy plan.
Zainstaluj
screen
:Rozpocznij
screen
:Wykonuj swoje polecenia, czego potrzebujesz.
Odłącz
screen
od terminala (twoje polecenia będą nadal działać):Naciśnij CTRL+ a+d
Zamknij terminal
Otwórz inny terminal i podłącz ponownie ostatnią
screen
sesję:Aby uzyskać więcej informacji i dodatkowe opcje
screen
wyszukiwaniaman screen
.źródło
tmux
jako alternatywę dlascreen
.Czy próbowałeś:
byobu
lubtmux
które są terminalowymi multiplekserami. Nie do końca to, czego szukasz, ale ma podobne zachowanie.Następnie uruchom polecenie, aby odłączyć:
Aby wznowić:
Zobacz https://help.ubuntu.com/community/Screen
źródło