때로는 gnome 터미널에서 애플리케이션을 실행하다가 갑자기 gnome 등을 다시 시작해야 하는 경우도 있습니다. 이 질문에 대한 답변도 유용할 것 같습니다. 그런 다음 문제가 발생하면 SSH 연결을 끊고 싶습니다.
Gnome의 터미널 트리는 다음과 같습니다:
gnome-terminal
bash
some-boring-process
"분리" bash
( gnome-terminal
또는 some-boring-process
bash에서 분리하고 출력을 어딘가로 리디렉션)할 수 있습니까? 그냥 죽이면 gnome-terminal
모든 bash
하위 프로세스가 죽습니다.
답변1
some-boring-process
현재 bash 세션에서 실행 중인 경우 :
- 그것을 멈추고
ctrl-z
bash 프롬프트를 제공합니다 - 배경에 넣어
bg
- 작업 번호를 기록해 두거나
jobs
다음 명령을 사용하십시오. - 이 bash 세션에서 프로세스를 분리합니다
disown -h %1
(실제 작업 번호를 바꾸세요).
이는 출력을 리디렉션하는 데 아무런 영향을 미치지 않습니다. 지루한 프로세스를 시작할 때 이를 고려해야 합니다. [편집] 리디렉션하는 방법이 있는 것 같습니다.https://gist.github.com/782263
그런데 진지하게 화면을 보세요. 원격 서버에 셸이 있고 몇 달 동안 실행해 왔습니다.
다음과 같습니다.
$ sleep 999999
^Z
[1]+ Stopped sleep 999999
$ bg
[1]+ sleep 999999 &
$ disown -h %1
답변2
답변3
답변4
어쨌든 끝내고 싶은 일을 시작하면(시스템 재시작 외에), nohup
그것을 사용하고 백그라운드에서 실행합니다. 화면 등과 달리 프로세스에 다시 연결할 수 없습니다. 그러나 다른 곳으로 리디렉션되지 않는 한 모든 출력은 에서 찾을 수 있습니다 nohup.out
.
screen
나는 프로세스의 터미널을 전환하고 싶을 때 이것을 사용합니다. 예를 들어 집/직장에서 하나의 프로세스를 시작하고 다른 프로세스로 전환하는 경우입니다. 다른 터미널 세션 출력과 마찬가지로 결국 버퍼 상단으로 스크롤됩니다.
편집: 프로세스를 시작한 경우 이를 사용하여 프로세스가 닫힐 때 신호가 전송되지 disown
않도록 할 수 있습니다.HUP