Mi aspetto di avere qualche critica per questo, ma non riesco a trovare la risposta da nessuna parte. Sembra che dovrebbe essere così ovvio. A volte, quando digita un comando sbagliato in un terminale bash, il cursore salta alla riga successiva senza errori o altro. Non posso dire cosa ho sbagliato. È come se fossi bloccato nel programma. Rievocazione storica:

$ tidy 

Io: “Oops! Non volevo scrivere …”

:q 

Io: “Non” ha funzionato … “

:exit :quit exit quit /exit /quit -exit -quit -wtf??? 

So di aver sbagliato ma come posso tornare indietro al prompt senza chiudere il terminale?

Commenti

Risposta

Puoi sempre provare cose ovvie come ^C, ^D (eof), Escape ecc., Ma se tutto fallisce di solito finisco per sospendere il comando con ^Z (Control-Z) che mi rimette nella shell.

Quindi eseguo un comando ps e prendo nota del PID (process id) del comando e poi emetto un kill thePID (kill -9 thePID se il primo “t non ha funzionato) per terminare lapplicazione.

Nota che questo non è un ordine ( nessun gioco di parole) modo per terminare lapplicazione / comando e corri il rischio di non salvare forse alcuni dati ecc.

Un esempio (io “avrei usato tidy ma non lho installato):

$ gnuplot G N U P L O T Version 4.2 patchlevel 6 .... Send bug reports and suggestions to <http://sourceforge.net/projects/gnuplot> Terminal type set to "wxt" gnuplot> gnuplot> ##### typed ^Z here [1]+ Stopped gnuplot $ ps PID TTY TIME CMD 1681 pts/1 00:00:00 tcsh 1690 pts/1 00:00:00 bash 1708 pts/1 00:00:00 gnuplot 1709 pts/1 00:00:00 ps $ kill 1708 ###### didn"t kill the command as ps shows $ ps PID TTY TIME CMD 1681 pts/1 00:00:00 tcsh 1690 pts/1 00:00:00 bash 1708 pts/1 00:00:00 gnuplot 1710 pts/1 00:00:00 ps $ kill -9 1708 ### -9 did the trick $ [1]+ Killed gnuplot $ ps PID TTY TIME CMD 1681 pts/1 00:00:00 tcsh 1690 pts/1 00:00:00 bash 1711 pts/1 00:00:00 ps 

Commenti

  • That ' è tutto !! ^ Z in soccorso. Grazie mille.
  • ^ \ (ctrl-backslash, SIGQUIT) funziona in alcune utility testarde che non ' t rispondere a ^ C.
  • Shh! Non ' t dire alle persone del ^ \ o loro ' inizierà SIG_IGN ' anche questo, quindi cosa faremo?
  • @godlygeek Puoi dimmi cosa significa %% in Linux o che tipo di cose è? Ho cercato molto.
  • @Noumenon, dai unocchiata a LESS='+/^JOB CONTROL' man bash. %% si riferisce al " lavoro corrente ".

Risposta

Prova a premere Ctrl D o Ctrl C . Se fallisce, termina il processo.

Provando con il comando tidy che hai menzionato, Ctrl D funziona.

Commenti

  • CTRL+C va bene anche per Windows CMD.

Risposta

Unaltra soluzione (non già menzionata) è inviare il segnale SIGQUIT usando ctrl + \

È più forte di ctrl + c

Risposta

CTRL + D == exit shell command

e

CTRL + C == terminate the current process, Of course may be the given software handle it and CTRL + D doens"t work

Ovviamente, producono un kernel signal se vuoi saperne di più, leggi:

man 7 signal 

Commenti

  • Ctrl + D è la fine del file, non esce direttamente.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *