Di mana STDOUT dari program yang ditolak ditujukan untuk?

11

Sebagai tindak lanjut dari pertanyaan ini , saya ingin tahu di mana STDOUT dan STDERR dari program yang saya jalankan disown -hdiarahkan ke.

Ditarik
sumber

Jawaban:

10

disowntidak mengubah program STDOUT / ERR. Mereka masih akan pergi ke mana pun Anda mengarahkan mereka (menggunakan >dll.) Jika Anda tidak mengarahkan mereka, mereka akan terus masuk ke terminal tempat Anda memulai program (sampai Anda menutup terminal itu, dalam hal ini mereka akan dibuang).

Untuk menggambarkan, jalankan ini di terminal:

bash -c 'while true; do sleep 1; echo hi; done' &

Ini akan mencetak "hai" setiap detik (dan Anda sangat kesal ;-)). Jika Anda disownprogram setelah memulai, "hai" hanya akan melanjutkan. Anda perlu menemukan PID shell (menggunakan mis. Ps) dan membunuhnya untuk menghentikannya.

Edit:

Berdasarkan komentar, mungkin yang benar-benar ingin Anda lakukan adalah memulihkan output dari program setelah Anda disownmengeditnya dan menutup terminal yang digunakan. Ini dijelaskan dalam pertanyaan ini: Nohup jarak jauh yang sebenarnya dengan tcsh ( terima kasih kepada quack quixote).

sleske
sumber
Menurut pertanyaan sebelumnya, faktanya dia menutup terminal sebelumnya. Bagaimana dia bisa mendapatkan hasilnya?
Gnoupi
@ Gnoupi: Saya tidak berpikir ada cara untuk mendapatkan hasilnya kembali. Setidaknya aku belum pernah mendengarnya.
sleske
Terima kasih atas komentar Gnoupi :-) Faktanya, hasilnya tidak dapat ditemukan. Saya akan terus mencari :-)
Diambil
1
inilah jawabannya: penolakan tidak mengubah apa pun; Anda perlu mengatur pengambilan atau pengalihan apa pun saat Anda memulai proses . jika Anda memerlukannya setelah itu, gdb adalah teman Anda (saja): superuser.com/questions/50058/…
quack quixote
@ quack - Saya akan mengatakan bahwa pertanyaan perlu refactoring, kemudian, untuk menekankan pada use case yang sebenarnya, bukan hanya alat. Dalam bentuk saat ini (berpusat pada penolakan), ini memang jawaban yang benar. Tetapi dari konteksnya, dengan pertanyaan sebelumnya, pengguna hanya ingin memulihkan hasilnya, dan dalam hal ini tautan Anda adalah jawabannya.
Gnoupi