Korzystam z polecenia, $ nohup ...
aby uruchomić aplikację w tle, aby móc później zamknąć okno terminala.
Po wykonaniu tworzy plik ~/nohup.out
.
Przykład:
orschiro@x230:~$ nohup /bin/bash -c "sleep 15 && python3 /home/orschiro/bin/show_state.py"
nohup: ignoring input and appending output to 'nohup.out'
Jak mogę zapobiec nohup
tworzeniu nohup.out
?
command-line
nohup
orschiro
źródło
źródło
byobu
. :)byobu
, zacznij, co chcesz, a następnie naciśnijF6
i gotowe. Możesz do niego wrócić, uruchamiającbyobu
ponownie.Odpowiedzi:
Możesz przekierować dane wyjściowe w dowolnym miejscu, na przykład:
przekierowanie uniemożliwia utworzenie domyślnego pliku wyjściowego
nohup.out
./dev/null
jest zapomnieniem, więc jeśli nie chcesz danych, wyślij je tam.W bashu można skrócić
>/dev/null 2>&1
do&>/dev/null
W przypadku programów, których często używam, tworzę na przykład alias (i dodaje go do mojego
.bashrc
)Teraz muszę tylko wpisać
show_state
źródło
show_state () { /bin/bash -c "$@" &>/dev/null }
? (Ostrzeżenie: zła składnia i prawdopodobnie nie będzie działać! To tylko przykład!). Jeden nitpick: dlaczego,show_state
kiedy wyrzucasz wyjścienohup
?.py
pliku. I tak, funkcja jest przyjemniejsza. Mam to źle napisane funkcji na pulpicie Debian:shutup() { source "$@" >/dev/null 2>&1 & }
. I to działa. Może mógłbyś zaproponować coś podobnego, ale o wiele lepszego?&>
działa (i moim zdaniem wygląda to na tło plus standardowe przekierowanie). Zawsze nauczyłem się tego jako>&
. Czy to standard?