[USER@SERVER ~] sleep 3 &
[1] 5232
[USER@SERVER ~]
[1]+ Done sleep 3
[USER@SERVER ~]
Jak mogę / dev / null te dwie wiadomości ?:
[1] 5232
[1]+ Done sleep 3
ps: więc potrzebuję danych wyjściowych procesu, ale nie wspomnianych dwóch linii!
Odpowiedzi:
To nie jest wynik programu, to kilka użytecznych informacji o powłoce.
W każdym razie można je ukryć, używając przekierowania podpowłoki i wyjścia
źródło
W bash lub zsh możesz zadzwonić,
disown %1
aby powiedzieć powłoce, aby zapomniała o zadaniu. Wtedy powłoka nie wydrukuje żadnej wiadomości o tym zadaniu, ani nie wyświetli jej, gdy uruchomiszjobs
lub kiedykolwiek wyślesz do niej SIGHUP. W zsh rozpoczęcie zadania od&!
zamiast&
jest równoznaczne zdisown
natychmiastowym wywołaniem go.źródło
Nie mogę komentować (jeszcze) @Gilles, ale wygląda na to, że
& disown
działa również w bash:źródło
Próbować:
I ukryłeś zarówno wyjście, jak i PID . Pamiętaj, że nadal możesz odzyskać PID z $ REPLY
źródło