답변:
사용 $BASHPID
또는$$
둘 사이의 차이점을 포함하여 자세한 내용은 설명서 를 참조하십시오 .
TL; DRTFM
$$
쉘의 프로세스 ID로 확장합니다.
()
서브 쉘 에서는 서브 쉘이 아닌 호출 쉘의 프로세스 ID로 확장됩니다.$BASHPID
현재 Bash 프로세스의 프로세스 ID로 확장됩니다.
()
서브 쉘, 상기 하부 쉘의 프로세스 ID로 확장$BASHPID
BASH 4. BASH 3.x를를 사용하는 경우에 새로운, 당신은 사용이$$
Jefromi가 참조한 Advanced Bash 스크립팅 안내서에 제공된 예제 외에도이 예제는 파이프가 서브 쉘을 작성하는 방법을 보여줍니다.
$ echo $$ $BASHPID | cat -
11656 31528
$ echo $$ $BASHPID
11656 11656
$ echo $$ | while read line; do echo $line $$ $BASHPID; done
11656 11656 31497
$ while read line; do echo $line $$ $BASHPID; done <<< $$
11656 11656 11656
stdin
. 이 문자열을 "여기서 문자열"이라고합니다.
PID는에 저장됩니다 $$
.
예 : kill -9 $$
호출 된 쉘 인스턴스를 종료합니다.
kill -9
( -9
플래그 포함)는 유해한 것으로 간주되며 반드시 필요한 경우에만 사용해야합니다.
kill -9 $$
정확히 1 일을한다. 그것은 죽이기 현재 쉘 프로세스를 . 쉘 세션에서 다음 .bash_history
과 같이 작성하고 싶지 않은 작업을 수행 한 경우 유용합니다 .docker run -e PASSWORD=hunter2 ircbot
$$
변수 를 사용할 수 있습니다 .