Ik verwacht hier wat luchtafweergeschut voor te krijgen, maar ik kan het antwoord nergens vinden. Het lijkt alsof het zo duidelijk moet zijn. Soms, als ik typ een slecht commando in een bash-terminal, de cursor springt gewoon naar de volgende regel zonder enige fout of zoiets. Ik kan niet zeggen wat ik fout heb gedaan. Het is alsof ik vastzit in het programma. Opnieuw invoeren:

$ tidy 

Ik: “Oeps! Dat is niet wat ik wilde typen …”

:q 

Ik: “Dat werkte niet …”

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

Ik weet dat ik het verpest heb, maar hoe kom ik terug naar de prompt zonder de terminal te sluiten?

Reacties

Antwoord

Je kunt altijd de voor de hand liggende dingen proberen, zoals ^C, ^D (eof), Escape enz., Maar als alles mislukt, stop ik meestal het commando met ^Z (Control-Z) dat me weer in de shell plaatst.

Ik voer dan een ps commando uit en noteer de PID (proces-id) van het commando en geef dan een kill thePID (kill -9 thePID als de eerste niet werkte) commando om de applicatie te beëindigen.

Merk op dat dit geen netjes ( geen woordspeling bedoeld) manier om de applicatie / het commando te beëindigen en je loopt het risico dat je misschien wat gegevens niet opslaat etc.

Een voorbeeld (ik “had tidy maar ik heb het niet geïnstalleerd):

$ 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 

Reacties

  • Dat ' s it !! ^ Z schiet te hulp. Heel erg bedankt.
  • ^ \ (ctrl-backslash, SIGQUIT) werkt in een aantal koppige hulpprogrammas die ' reageer niet op ^ C.
  • Sst! Vertel ' mensen niet over de ^ \ of zij ' ll start SIG_IGN ' ook dat, wat zullen we dan doen?
  • @godlygeek Kun je vertel me wat %% betekent in Linux of wat voor soort ding het is? Ik heb veel gezocht.
  • @Noumenon, kijk eens naar LESS='+/^JOB CONTROL' man bash. %% verwijst naar de " huidige taak ".

Answer

Druk op Ctrl D of Ctrl C . Als het niet lukt, stop dan het proces.

Probeer het met het tidy commando dat je noemde, Ctrl D werkt.

Reacties

  • CTRL+C is ook goed voor Windows CMD.

Answer

Een andere oplossing (nog niet genoemd) is om het SIGQUIT signaal te sturen met ctrl + \

Het is sterker dan een ctrl + c

Antwoord

CTRL + D == exit shell command

en

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

Natuurlijk produceren ze een kernel signal als je meer wilt weten, lees dan:

man 7 signal 

Reacties

  • Ctrl + D is het einde van het bestand, niet rechtstreeks afsluiten.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *