쉘 프롬프트가없는 경우 Ctrl-Z를 누른 후 nano로 돌아가려면 어떻게합니까 (Matlab 세션에서)


31

화면 (-x) 터미널에서 실행되는 MATLAB 세션 내에서 nano를 사용하고 있습니다. 실수로 Ctrl-Z를 눌렀을 때 즉시 nano가 나오고 "나온으로 돌아가려면"fg "를 사용하십시오"라는 메시지가 표시되지만 명령 프롬프트는 표시되지 않습니다. 입력 한 내용이 화면에 나타나지만 아무 반응이 없습니다. Ctrl-Z를 누르면 ^ Z는 화면에 인쇄됩니다. 어떤 아이디어? 12.04 사용.


ctrl-z를 누른 후 프롬프트가 나타납니다. 나는 ... 당신의 경우에는 일어나지 않는 것 같습니다. nano터미널에서 정확히 어떻게 달리 나요?
— Rmano

방금 12.04를 사용하고 있지 않다는 것을 깨달았습니다. 사실 nanoMATLAB 세션 내부에서 실행 중입니다.이 문제는 (분명히) 문제입니다. jobs다른 화면에서 전화 를 걸면 끌어 올 작업이 나열되지 않습니다.
— user282315

답변:


11

의견에서 저자는 자신이 nano Matlab 명령을 CTRL-Z로 명령을 일시 중단 한 후 프롬프트가 표시되지 않는다고 말합니다. 이것은 아마도 Matlab (1)의 버그 일 것입니다 .CTRL-Z가 대처할 수 없다면 나노에 도달해서는 안됩니다 ...

문제는 쉘 명령 fg( bg및jobs )이 쉘의 직접 하위 항목에서만 작동한다는 것입니다. 그러나 다른 쉘에서 중지 된 프로세스를 계속할 수는 있지만 화면 상태가 올바르게 관리되는 것은 아닙니다.

  1. 다른 터미널 창에서 nano프로세스를 찾으십시오 .

    % ps ugx | grep nano
    romano   10600  0.0  0.0  20784  1628 pts/11   T    16:52   0:00 nano prova
    romano   10653  0.0  0.0  18256   900 pts/11   S+   16:53   0:00 grep nano
    
  2. 중지됨 (상태 T )

  3. 계속해

    kill -CONT 10600 
    

... 그리고 그것이 작동하기를 바랍니다 (터미널을 크게 엉망으로 만들 수 있음). 당신은 또한 시도 할 수 있습니다

killall -CONT nano 

그렇게하면 CONT신호가 모든 "nano"프로세스로 전송됩니다 (문제는 아닙니다).


각주 :

(1) 나는 시도했다 octave: EDITOR=nano octave다음 edit file옥타브한다. CTRL-Z를 누르면 문제가 해결됩니다. Matlab이 아니라 TSTP 신호를 수신하고 관리하는 사람에 대한 이상한 상호 작용 일 수 있습니다.


굉장합니다. 이 문제는 한동안 나를 귀찮게했다! TheMathWorks로 버그 기록. 감사!
— user282315

1
아아, 새로운 계정, 공평한 평판은 없습니다 (아직).
— user282315

54

백그라운드에서 유일하게 백그라운드 프로세스가 %시작되면Return 나노 당신을 반환해야합니다.

즉, fg항상 작동해야합니다. 작업이 둘 이상인 경우에도 최신 작업으로 되돌아갑니다.


5
imo, 이것은 실제 답변입니다. op가 요청한 작업을 수행하고 닫힌 (ctrl + z) Nano 창을 다시여십시오.
— DonSeba

여기 멋진 트릭.
— pietrovismara

이것은 나에게도 도움이됩니다.
— Arefe

이것이 정답이어야합니다.
— user2180794

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.