Untuk sementara, Ctrl +\ bekerja seperti pesona. Sekarang, itu tidak mematikan prosesnya. Sebenarnya itu tidak menghasilkan apa-apa.
Contoh cara TIDAK bekerja:
[email protected]:~ $ sleep 10
^C
[exited with 130]
[email protected]:~ $ sleep 10
^\^\^\^\^\^\^\^\^\^\^\
[email protected]:~ $
Ctrl +C berhenti tidur seperti biasa, tetapi Ctrl +\ tidak, tapi seharusnya, kan?
Jawaban yang Diterima:
Apa Ctrl + \ lakukan adalah mengirim SIGQUIT
ke proses latar depan. Beberapa pengembang ingin menggunakan peristiwa SIG* dengan cara yang mungkin tidak diharapkan atau biasa dilakukan oleh pengguna. Anda tidak menyebutkan programnya, tetapi mari kita lihat kasus saya dengan Ctrl + \ dan mplayer
:
AO: [pulse] 44100Hz 2ch floatle (4 bytes per sample)
Video: no video
Starting playback...
A: 1.7 (01.7) of 0.0 (unknown) 0.4%
// here I press Ctrl + \
MPlayer interrupted by signal 3 in module: play_audio
A: 1.0 (00.9) of 0.0 (unknown) 0.4%
Exiting... (Quit)
Seperti yang Anda lihat, mplayer menangkap sinyal, tetapi jangan langsung keluar. Jika saya menggunakan Ctrl + C itu akan mengatakan “MPlayer terganggu oleh sinyal 2 di modul:play_audio” . Apa yang saya coba jelaskan adalah bahwa setiap program dapat menginterpretasikan sinyal sesuai keinginan mereka, tanpa mempedulikan apa yang seharusnya dilakukan. Anda harus meninjau dokumentasi. Juga, ingat bahwa SIGKILL
atau 9
harus digunakan sebagai sumber daya terakhir. Anda harus memeriksa bahwa penekanan tombol juga dikirim ke proses, peta tombol sudah benar dan keyboard Anda terhubung.