Kiedy uruchamiam nohup some_command &
, wyjście przechodzi do nohup.out
; man nohup
mówi, aby spojrzeć na to, info nohup
co z kolei mówi:
Jeśli standardowym wyjściem jest terminal, standardowe wyjście polecenia jest dołączane do pliku „nohup.out”; jeśli nie można tego zapisać, jest on dołączany do pliku „$ HOME / nohup.out”; a jeśli nie można tego zapisać, polecenie nie jest uruchamiane.
Ale jeśli mam już jedną komendę używającą nohup
wyjścia /nohup.out
i chcę uruchomić inną nohup
komendę, czy mogę przekierować dane wyjściowe do nohup2.out
?
2>&1&
?2>&1
przekierowujestderr
do tego samego pliku wyjściowego,stdout
co w tym przypadkunohup2.out
&> nohup2.out
.Z jakiegoś powodu powyższa odpowiedź nie działała dla mnie; Nie wróciłem do wiersza polecenia po uruchomieniu, jak się spodziewałem z końcowymi &. Zamiast tego po prostu spróbowałem
i działa tak, jak chcę. Pozostawiając to tutaj, na wypadek, gdyby ktoś był w takiej samej sytuacji. Uruchomienie Bash 4.3.8 w celach informacyjnych.
źródło
Ponieważ procedury obsługi plików wskazują na i-węzły (które są przechowywane niezależnie od nazw plików) w systemach Linux / Unix, możesz zmienić nazwę domyślną
nohup.out
na inną nazwę pliku w dowolnym momencie po uruchomieniunohup something&
. Więc można również wykonać następujące czynności:Teraz
something
dodaje linie donohup2.out
isomething2
donohup.out
.źródło
Powyższe metody usuwają dane pliku wyjściowego za każdym razem, gdy uruchomisz komendę nohup.
Aby dołączyć dane wyjściowe do pliku zdefiniowanego przez użytkownika , możesz użyć
>>
polecenia nohup.To polecenie doda wszystkie dane wyjściowe do pliku bez usuwania starych danych.
źródło