Saya ingin mengarahkan output yang dihasilkan dari aplikasi latar belakang di Linux ke / dev / null.
Saya menggunakan editor teks kate dan mencetak semua pesan debug di terminal yang ingin saya alihkan ke / dev / null.
Ada ide bagaimana melakukannya?
Terima kasih
Jawaban:
Kau gunakan:
Jika itu harus berjalan di Latar Belakang tambahkan
&
>/dev/null 2>&1
berarti mengalihkanstdout
ke/dev/null
ANDstderr
ke tempat di manastdout
menunjuk pada waktu ituJika Anda ingin
stderr
muncul di konsol dan hanyastdout
pergi ke/dev/null
Anda dapat menggunakan:Dalam kasus
stderr
ini dialihkan kestdout
(misalnya konsol Anda) dan setelah itu yang aslistdout
dialihkan ke/dev/null
Jika program tidak dihentikan, Anda dapat menggunakan:
Tanpa parameter apa pun, semua keluaran akan masuk ke nohup.out
sumber
dup2()
terjadi segera setelahfork()
tetapi sebelumnyaexec*()
. Setelahexec*()
program dijalankan, shell tidak memiliki kemampuan untuk mengarahkan output dari proses itu. Koreksi saya jika saya salah, tetapi saya tidak tahu tentang shell yang telah menerapkan fungsi seperti itu.Ini juga akan mengarahkan keduanya:
meskipun manual bash mengatakan yang pertama lebih disukai.
sumber