을 사용하여 프로세스를 시작합니다 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"