[USER@SERVER ~] sleep 3 &
[1] 5232
[USER@SERVER ~]
[1]+ Done sleep 3
[USER@SERVER ~]
Bagaimana saya / dev / null dua pesan ini ?:
[1] 5232
[1]+ Done sleep 3
ps: jadi saya perlu output dari proses, tetapi bukan dua baris yang disebutkan!
Jawaban:
Ini bukan keluaran program, ini beberapa informasi shell yang berguna.
Bagaimanapun, itu bisa disembunyikan dengan menggunakan subshell dan redirection output
sumber
Dalam bash atau zsh, Anda dapat menelepon
disown %1
untuk memberi tahu shell untuk melupakan pekerjaan itu. Maka shell tidak akan mencetak pesan apa pun tentang pekerjaan itu, juga tidak akan menampilkannya saat Anda menjalankanjobs
atau mengirim SIGHUP ke sana. Di zsh, memulai pekerjaan dengan&!
bukannya&
sama dengan memanggilnyadisown
segera.sumber
Tidak dapat mengomentari (belum) di @Gilles tetapi tampaknya itu
& disown
juga berfungsi di bash:sumber
Mencoba:
Dan Anda telah menyembunyikan output dan PID . Perhatikan bahwa Anda masih dapat mengambil PID dari $ REPLY
sumber