Arra számítok, hogy kapok ehhez egy kis pelyhet, de sehol nem találom a választ. Úgy tűnik, annyira nyilvánvalónak kell lennie. Néha, amikor írjon be egy rossz parancsot egy bash terminálba, a kurzor hiba és semmi nélkül ugrik le a következő sorra. Nem tudom megmondani, mit tettem rosszul. Olyan, mintha beragadtam volna a programba. Újrateraktálás:

$ tidy 

Én: “Hoppá! Nem ezt akartam gépelni …”

:q 

Én: “Ez nem működött …”

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

Tudom, hogy elcsesztem, de hogyan juthatok vissza a terminál bezárása nélkül?

Megjegyzések

Válasz

Mindig kipróbálhatja azokat a nyilvánvaló dolgokat, mint ^C, ^D (eof), Escape stb., De ha minden nem sikerül, általában felfüggesztem a ^Z (Control-Z) parancs, amely visszahelyez a shellbe.

Ezután megadok egy ps parancsot, és megjegyzem a parancs PID-jét (folyamatazonosítóját), majd kiadok egy kill thePID (kill -9 thePID ha az előbbi nem működött) parancs az alkalmazás leállításához.

Ne feledje, hogy ez nem rendezett ( nincs szóhasználat) az alkalmazás / parancs megszüntetésének módja, és fennáll annak a veszélye, hogy esetleg nem mentünk el néhány adatot, stb.

Egy példa (használtam tidy de nincs telepítve):

$ 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 

Megjegyzések

  • Ez a ' s !! ^ Z a megmentéshez. Köszönöm szépen.
  • ^ \ (ctrl-backslash, SIGQUIT) működik néhány makacs segédprogramban, amelyek nem ' t válaszoljon a ^ C-ra.
  • Pszt! Don ' t ne mondja el az embereknek a ^ \ vagy ők ' ll start SIG_IGN ' ezt is, akkor mit fogunk tenni?
  • @godlygeek Tudsz mondd meg, mit jelent a %% Linux alatt, vagy milyen dolog ez? Sokat kerestem.
  • @Noumenon, nézze meg a LESS='+/^JOB CONTROL' man bash oldalt. A %% a " aktuális feladatra vonatkozik ".

Válasz

Próbálkozzon a Ctrl D vagy a Ctrl - C . Ha ez nem sikerül, ölje meg a folyamatot.

Az Ön által említett tidy paranccsal próbálkozik, > működik.

Megjegyzések

  • CTRL+C jó a Windows CMD számára is.

Válasz

Egy másik (még nem említett) megoldás a SIGQUIT jel elküldése ctrl + \

erősebb , mint egy ctrl + c

Válasz

CTRL + D == exit shell command

és

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

Természetesen kernel signal ha többet szeretne megtudni, olvassa el:

man 7 signal 

Megjegyzések

  • A Ctrl + D a fájl vége, nem közvetlenül lép ki.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük