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 kbd megnyomásával > - 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.
:q
valójában nekem dolgozott; nem ' t, hogy Vim parancs?