Saya mengunduh file dengan wget, dan saya ingin mematikan komputer saya setelah pengunduhan akan selesai, tetapi saya harus pergi ke suatu tempat sekarang :) Apakah mungkin untuk menjalankan perintah di bash secara tepat ketika proses akan selesai?
Saya tahu ini bekerja:
wget http://example.com/file.rar; shutdown sekarang
Tetapi bagaimana jika saya mengetik saja:
wget http://example.com/file.rar
Jawaban:
Anda dapat melakukan sesuatu seperti ini:
tunggu akan menunggu semua program berjalan di latar belakang dari shell saat ini - yaitu wget ini.
Setelah menunggu akan selesai - shutdown akan berlangsung.
sumber
Di shell lain, gunakan
untuk menemukan PID dari perintah yang ingin Anda tunggu, lalu
sehingga shutdown tidak akan berjalan sampai proses dihentikan. Lihat juga jawaban depesz .
sumber
wait
hanya akan berfungsi untuk perintah yang dimulai dari shell yang samaSolusi saya adalah ini: tunda tugas Anda yang sudah berjalan lama dengan Control + Z, lalu ketik sesuatu seperti:
Jika Anda ingin menjalankan reaksi secara berbeda berdasarkan keberhasilan atau kegagalan perintah Anda, gunakan && dan || sebagai operator hubungan arus pendek.
EDIT: Ini tidak akan berfungsi dengan sudo, karena akan meminta kata sandi Anda. Oleh karena itu, saya telah menghapus contoh menggunakan sudo. Jika Anda memerlukan sudo untuk tugas kedua, gunakan metode lain yang diposting di sini.
Di sisi lain, saya percaya bahwa GNOME dan KDE menawarkan cara untuk memicu shutdown / reboot tanpa menggunakan sudo, dengan mengirimkan sinyal D-Bus yang sesuai atau sesuatu.
sumber
fg
..., tetapisudo
bisa menjadi masalah jika meminta Anda untuk kata sandiYa, ketikkan saja perintah kedua Anda dan tekan enter. Jika program Anda saat ini menggulirkan teks, Anda tidak dapat melihat apa yang Anda ketikkan dengan benar, jadi perhatikan kunci Anda sehingga Anda melakukannya dengan benar.
Cara yang lebih cerdas adalah beralih ke TTY lain (CTRL + ALT + F1 hingga F6) dan menjalankan perintah secara bersamaan, atau jika Anda menggunakan program baris perintah seperti layar, Anda dapat membuat jendela baru di dalamnya.
sumber
Jika Anda ingin berkhayal, periksa status pengembalian wget dan hanya pematian jika berhasil.
sumber
wget
dijalankan Anda tidak mendapatkan konfirmasi kembali untuk membuat tes.