GNU/Linux >> Znalost Linux >  >> Ubuntu

Proč Ctrl+\ (obrácené lomítko) už proces nezabije?

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.


Ubuntu
  1. Synchronizace Chromia s účtem Google již nefunguje… Řešení?

  2. Proč kurzor při psaní přeskakuje?

  3. Emulátor -avd nespustí virtuální zařízení?

  1. Co když ‚kill -9‘ nefunguje?

  2. Proč rozvětvení mého procesu způsobuje nekonečné čtení souboru

  3. Kdy bych neměl zabít -9 proces?

  1. Proč substituce procesu Bash nefunguje s některými příkazy?

  2. Proč „ukončit &“ nefunguje?

  3. Jak zjistit ID procesu (pid) běžícího terminálového programu?