bagaimana cara mengantri perintah untuk dijalankan setelah perintah lain selesai?

9

Kadang-kadang saya memulai sebuah program yang membutuhkan waktu sangat lama untuk menyelesaikan ( emerge), kemudian menyadari bahwa saya harus tidur daripada menunggu. Jika saya tahu ini pada awalnya saya akan lari

program; halt

Namun, sekarang saya sudah memulai program, bagaimana saya bisa "menjadwalkan" komputer untuk mati ketika proses itu selesai? Apakah Ctrl+zkemudian fg; haltakan baik-baik saja?

phhehehe
sumber

Jawaban:

15

Ya, itu akan berhasil.

Jika tidak yakin, Anda dapat mengujinya

  • sleep 15

  • Ctrl+z

  • fg; echo "it works"

mru
sumber
2

Cara lain adalah dengan mengetikkan haltterminal Anda saat perintah pertama berjalan; selama perintah pertama tidak membaca input di beberapa titik itu akan duduk di buffer terminal dan shell akan membacanya ketika program pertama berakhir

Michael Mrozek
sumber
1

Menggunakan waitperintah

$ sleep 10 &
[1] 29703
$ wait 29703 && echo hello
[1]+  Done                    sleep 10
hello
Gayus
sumber