Yanıtlar:
disownSTDOUT / 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 ;-)). disownProgramı 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).