Na chvíli Ctrl +\ fungovalo jako kouzlo. Nyní to proces nezabije. Ve skutečnosti to nedělá nic.
Příklad, jak to NEFUNGUJE:
[email protected]:~ $ sleep 10
^C
[exited with 130]
[email protected]:~ $ sleep 10
^\^\^\^\^\^\^\^\^\^\^\
[email protected]:~ $
Ctrl +C zastaví režim spánku jako obvykle, ale Ctrl +\ ne, ale mělo by, ne?
Přijatá odpověď:
Co Ctrl + \ odešle SIGQUIT
do procesu v popředí. Někteří vývojáři chtějí používat události SIG* způsobem, který uživatel možná neočekává nebo je na něj zvyklý. Nezmínil jste se o programu, ale podívejme se na můj případ s Ctrl + \ a 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)
Jak vidíte, mplayer zachytí signál, ale neopustí okamžitě. Kdybych použil Ctrl + C řeklo by to “MPlayer přerušen signálem 2 v modulu:play_audio” . Snažím se vysvětlit, že každý program může interpretovat signály tak, jak se mu líbí, aniž by se staral o to, co má dělat. Musíte zkontrolovat dokumentaci. Pamatujte také, že SIGKILL
nebo 9
by měl být použit jako poslední zdroj. Musíte zkontrolovat, zda jsou do procesu odesílány také úhozy, mapa kláves je správná a vaše klávesnice je připojena.