Yanıtlar:
disown
STDOUT / ERR programlarını değiştirmez. Yine de, onları yeniden yönlendirdiğiniz yere ( >
vb. Kullanarak ) gideceklerdir . Onları yönlendirmediyseniz, programı başlattığınız terminale gitmeye devam ederler (o terminali kapatana kadar, bu durumda atılırlar).
Göstermek için bunu bir terminalde çalıştırın:
bash -c 'while true; do sleep 1; echo hi; done' &
Bu, her saniye "merhaba" yazdıracaktır (ve sizi çok rahatsız ;-)). disown
Programı başlattıktan sonra yaparsanız , "hi" ler devam eder. Kabuğun PID'sini bulmanız (örneğin ps kullanarak) ve durması için öldürmeniz gerekir.
Düzenle:
Yorumlara dayanarak, belki de gerçekten yapmak istediğiniz şey, programı düzenledikten vedisown
çalışmakta olduğu terminali kapattıktan sonra çıktısını kurtarmaktır . Bu soruda açıklanmıştır: tcsh ile gerçekte uzak nohup ( quack quixote sayesinde).