![데몬으로 시작된 프로세스를 종료하는 방법은 무엇입니까?](https://linux55.com/image/52474/%EB%8D%B0%EB%AA%AC%EC%9C%BC%EB%A1%9C%20%EC%8B%9C%EC%9E%91%EB%90%9C%20%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4%EB%A5%BC%20%EC%A2%85%EB%A3%8C%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
을 사용하여 프로세스를 시작합니다 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"