프로세스에서 ^ Z를하면 "중지"됩니다. 다시 어떻게 전환합니까?


81

실수로 telnet프로세스를 "중지"했습니다 . 이제 다시 "전환"하거나 죽일 수 없습니다 (응답하지 않습니다 kill 92929. 92929가 프로세스 ID입니다).

따라서 제 질문은 리눅스 명령 줄에서 프로세스가 중지 된 경우에 의존하지 않고 어떻게 다시 전환하거나 죽일 수 kill -9있습니까?

답변:


90

가장 쉬운 방법은 fg포 그라운드로 가져 오는 것입니다.

$ help fg
fg: fg [job_spec]
    Move job to the foreground.

    Place the job identified by JOB_SPEC in the foreground, making it the
    current job.  If JOB_SPEC is not present, the shell's notion of the
    current job is used.

    Exit Status:
    Status of command placed in foreground, or failure if an error occurs.

또는 bg백그라운드에서 계속 실행되도록 실행할 수 있습니다.

$ help bg
bg: bg [job_spec ...]
    Move jobs to the background.

    Place the jobs identified by each JOB_SPEC in the background, as if they
    had been started with `&'.  If JOB_SPEC is not present, the shell's notion
    of the current job is used.

    Exit Status:
    Returns success unless job control is not enabled or an error occurs.

방금 히트 Ctrl Z한 경우 작업을 다시 수행하려면 fg인수없이 실행하십시오 .


감사!! 이것이 Alt + Tab의 등식이라고 가정합니다. 당신은 최대한 빨리처럼 무슨 일이 있었는지 알아 fg telnet하지만. 그것은 말했다 Terminated, 아마도 내 이전의 C / B killcmd를.
bobobobo

아마 @bobobobo, 그렇습니다. 어쨌든, fg인수가 필요하지 않습니다. 방금 히트 한 경우 동일한 터미널에서 ^Z실행 fg하면 첫 번째 작업이 다시 시작됩니다.
terdon

48

jobs일시 중단 된 프로세스를 나열하는 데 사용할 수 있습니다 . 예를 들어 보자. 프로세스로 시작하십시오.

$ sleep 3000  

그런 다음 프로세스를 일시 중단합니다.

^Z
[1]+  Stopped                 sleep 3000

프로세스를 나열 할 수 있습니다.

$ jobs
[1]+  Stopped                 sleep 3000

다시 전경으로 가져옵니다.

$ fg %1
sleep 3000

%1에 해당합니다는 [1]나열 jobs명령.


18

kill명령 행에서 CONTINUE 신호를 프로세스에 전송하는 명령을 사용하여 일시 중단 된 프로세스를 다시 시작할 수 있어야합니다 .

kill -CONT 92929

이로 인해 작동이 다시 시작되지만 포 그라운드로 가져 오지는 않습니다.
bahamat

@bahamat 예, 사실입니다. 여전히 fg원래 터미널 내부에 있어야합니다 . 리소스를 절약하기 위해 -STOP 및 -CONT gui 프로그램을 좋아하지만 어쨌든 백그라운드에서 효과적으로 실행되고 있습니다.
Geeb

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