Misalkan situasi ini
wget http://file
wget mulai mengunduh file.
Saya letakkan di latar belakang.
^Z
bg
Perintah masuk ke latar belakang.
Tetapi hasilnya juga masih ada di konsol - jika konsol masih terbuka.
Apakah mungkin untuk menghentikan output perintah?
Wget hanyalah sebuah contoh; pikirkan sebuah perintah yang menulis banyak output.
Di konsol, saya tahu adalah mungkin untuk melakukan bg
dan kemudian menutup terminal dan membuka yang lain, tetapi bagaimana jika saya hanya memiliki satu terminal yang tersedia dan tidak ada pseudo-terminal?
background-process
output
elbarna
sumber
sumber
Jawaban:
Berikut adalah solusi yang benar-benar mengarahkan kembali output dari suatu perintah ketika sedang berjalan: /superuser/732503/redirect-stdout-stderr-of-a-background-job-from-console-to-a- file log
Untuk solusi yang lebih bisa digunakan dalam skenario setiap hari menggunakan terminal, Anda bisa melakukannya
wget -o log http://file &
untuk menjalankanwget
di latar belakang dan menulis outputnyalog
daripada terminal Anda. Tentu saja, Anda tidak akan melihat output sama sekali dalam hal ini (bahkan jika Anda berlariwget
di latar depan), tetapi Anda bisa lakukantail -f log
untuk melihat output saat itu tumbuh.sumber
Apakah maksud Anda bahwa Anda ingin tetap menjalankan wget (atau cmd lainnya) tanpa mengeluarkan pesan ke konsol? Jika itu pertanyaannya, Anda bisa mencoba
redirection
cmd di atas akan mengarahkan ulang
stdout
ke/dev/null
dan Anda tidak akan melihat pesan kecuali pesan kesalahan. Jika Anda tidak ingin melihat pesan kesalahan juga, coba iniAnda dapat google
redirection
untuk informasi lebih rinci.sumber