나는 이것이 비판을 받을 것이라고 예상했지만 어디에서도 대답을 찾을 수 없었습니다. 너무 분명해 보일 것입니다. 가끔 bash 터미널에 잘못된 명령을 입력하면 커서가 오류나 아무 것도 없이 다음 줄로 이동하는 경우가 있습니다. 나는 내가 뭘 잘못했는지 말할 수 없습니다. 마치 프로그램에 갇힌 것 같아요. 재연:
$ tidy
나: "앗! 이건 내가 입력하려던 게 아니었는데..."
:q
나: "그건 쓸데없는 짓이야..."
:exit
:quit
exit
quit
/exit
/quit
-exit
-quit
-wtf???
제가 실수했다는 건 알지만 터미널을 닫지 않고 어떻게 프롬프트로 돌아갈 수 있나요?
답변1
^C
언제든지 ( eof), Escape 등과 같은 확실한 작업을 시도할 수 있지만 ^D
다른 모든 방법이 실패하면 일반적으로 (Control-Z)를 사용하여 명령을 일시 중지하고 ^Z
쉘로 돌아갑니다.
그런 다음 명령을 실행 ps
하고 해당 명령의 PID(프로세스 ID)를 기록한 다음 kill thePID
( kill -9 thePID
전자가 작동하지 않는 경우) 명령을 실행하여 응용 프로그램을 종료합니다.
이는 아닙니다.정돈된(말장난 의도 없음) 응용 프로그램/명령을 종료하는 방법을 사용하면 일부 데이터 등을 저장하지 못할 위험이 있을 수 있습니다.
예(사용했지만 tidy
설치하지는 않았습니다):
$ 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
답변2
Ctrl- D또는 Ctrl- 를 눌러보세요 C. 실패하면 프로세스가 종료됩니다.
tidy
언급한 명령을 사용해 보십시오 . Ctrl- D작동합니다.
답변3
(아직 언급되지 않은) 또 다른 해결책은 +를 SIGQUIT
사용하여 신호를 보내는 것입니다.ctrl\
이것은더 강하게ctrl+ 보다c
답변4
CTRL+D == exit shell command
그리고
CTRL+ C == terminate the current process, Of course may be the given software handle it and
CTRL+D doens't work
물론, kernel signal
더 알고 싶다면 다음과 같이 만들었습니다.
man 7 signal