데몬으로 시작된 프로세스를 종료하는 방법은 무엇입니까?

데몬으로 시작된 프로세스를 종료하는 방법은 무엇입니까?

을 사용하여 프로세스를 시작합니다 foo &.

다음과 같이 출력됩니다.

[1] 16915

프로세스 ID인 것 같아요. 이 숫자를 MY_PROCESS_ID(예를 들어)이라는 변수에 어떻게 저장할 수 있나요 ?

그러면 다음과 같이 할 수 있습니다.

kill $MY_PROCESS_ID

내 프로세스 ID가 종료됩니다.

답변1

foo &
bg_pid=$!
kill "$bg_pid"

작업 번호와 함께 셸의 내부 명령을 사용할 수도 있습니다 kill(적어도 의 경우).bash

foo &
kill %1

하지만 쉽지 않을 수도 있습니다. 상호 작용이 더 쉬울 수 있습니다. 하지만 함께

kill %+

또는

kill %

당신은 항상 마지막 것을 얻습니다. 명령줄의 일부를 통해 종료할 작업을 식별할 수도 있습니다. man bash블록을 검색해 보세요 JOB CONTROL.

답변2

$!마지막 프로세스가 백그라운드에서 시작된 경우 이 변수는 PID입니다. 당신은 이렇게 할 것입니다 :

foo &
my_process_id=$!

: other stuff ...

kill "$my_process_id"

관련 정보