Bagaimana cara menerapkan ctrl+ cpenanganan dalam skrip bash sehingga skrip terputus, serta perintah yang saat ini berjalan diluncurkan oleh skrip?
(Bayangkan ada skrip yang menjalankan beberapa perintah yang sudah berjalan lama. Pengguna memukul ctrl+ cdan menyela perintah, tetapi skrip melanjutkan.) Saya perlu itu berperilaku dengan cara yang membuat mereka berdua terbunuh.
bash
shell-scripting
kolypto
sumber
sumber
bg
, membunuhnya atau melanjutkannya di latar depanfg
. Lihat bagian manual bashJOB CONTROL
.Jawaban:
Anda melakukan ini dengan membuat subrutin yang ingin Anda panggil ketika SIGINT diterima, dan Anda harus menjalankannya
trap 'subroutinename' INT
.Contoh:
sumber
EXIT
dalam kasus di mana Anda memiliki sesuatu yang ingin Anda jalankan kapan saja skrip keluar terlepas bagaimana itu berhenti. (KILL
dikecualikan, tentu saja.)