실행중인 프로세스를 선별


24

때로는 화면 세션에서 프로그램을 실행하는 것을 잊어 버리고 중간에 중지 할 수 없으며 시간이 오래 걸릴 것이라는 것을 알고 있습니다.

이미 실행중인 프로세스를 다시 시작하지 않고 스크리닝하는 방법이 있습니까?

답변:


12

earl의 serverfault에서이 답변을 찾았습니다 .

입력하여 터미널, 배경 그것에서 작업을 실행 한 후 그러나, 실제 문제에 대한, 당신이 시도 할 수있는 다른 일이있다 ctrl- z다음과 bg.
그 후, 그것의 부모 쉘에서 작업 분리 - 인을 bash: disown -h %<jobid>. 그 후에 터미널을 안전하게 닫을 수 있으며 작업이 계속 실행됩니다.

그리고 이것은 Rob Wells 의 동일한 질문에서 나온 것입니다 .

$ screen -S my_process
$ retty $(pgrep my_process)
/redraw


작업을 다시 포 그라운드로 전환 할 수있는 방법이 있습니까? 'screen'다음 'fg 1'이 작동하지 않습니다
Putnik

@Putnik-설명 된 다른 단계를 수행 했습니까?
warren

7

ServerFault 에서 중복을 찾았습니다 .

해당 게시물에서 찾을 수없는 또 다른 솔루션 은 스크린 세션을 시작한 후 retty 를 사용 하는 것입니다.


5
내 답변을 삭제했습니다. 2 일 후에 자신의 답변을 수락 할 수 있습니다. 교차 사이트 "중복"은 다른 관중으로 인해 중복되지 않으므로 여기에서 관련 부분을 자유롭게 인용하십시오.
Jeff Atwood

4
그러나 Jeff의 제안에 따라 관련 부분을 인용하지 않았습니다. =)
David는 Monica를

5

정확하게 reptyr을 살펴보십시오 . github 페이지에는 모든 정보가 있습니다.

reptyr- "재검사"도구

프로그램.

reptyr는 기존의 실행중인 프로그램을 가져 와서 새 터미널에 연결하는 유틸리티입니다. ssh를 통해 장기 실행 프로세스를 시작했지만 중단하고 중단하고 싶지 않습니까? 화면을 시작하고 reptyr을 사용하여 화면을 잡고 ssh 세션을 종료하고 집으로 향하십시오.

용법

렙 티르 PID

"reptyr PID"는 id PID로 프로세스를 가져 와서 현재 터미널에 연결합니다.

연결 후 프로세스는 ^ C 및 ^ Z를 포함하여 새 터미널에서 입력을 받아 출력을 출력합니다. (안타깝게도, 백그라운드를 배경으로하더라도 여전히 이전 터미널에서 "bg"또는 "fg"를 실행해야합니다. 쉘을 패치하지 않고는 합리적인 방법으로 고칠 수 없습니다.)

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