$PPID

Jmnote bot (토론 | 기여)님의 2020년 11월 2일 (월) 02:37 판 (봇: 자동으로 텍스트 교체 (-source +syntaxhighlight))
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

1 개요[ | ]

$PPID
  • bash 환경변수
  • 부모 프로세스 아이디
  • 현재 쉘(bash)의 부모 프로세스(sshd)의 PID
  • 읽기전용(readonly)이며 현재 세션에서는 변경불가
새로 접속하거나 하위 쉘을 열면 그 세션에는 새로운 PPID가 할당됨

2 실습[ | ]

[root@zetawiki ~]# echo $PPID
2439
[root@zetawiki ~]# ps -ef | grep 2439 | grep -v grep
root      2439  1876  0 00:15 ?        00:00:01 sshd: root@pts/2 
root      2443  2439  0 00:15 pts/2    00:00:00 -bash
[root@zetawiki ~]# tty
/dev/pts/2
→ 현재 bash 쉘의 PID는 2443
→ 그 부모 프로세스인 sshd의 PID는 2439 (이것이 $PPID 값)
→ sshd가 열고 있는 세션이 pts/2이며, tty와 동일함
[root@zetawiki ~]# PPID=1234
-bash: PPID: readonly variable
[root@zetawiki ~]# echo $PPID
2439
→ 변경 불가
[root@zetawiki ~]# bash
[root@zetawiki ~]# echo $PPID
2443
[root@zetawiki ~]# ps -ef | grep 2443 | grep -v grep
root      2443  2439  0 00:15 pts/2    00:00:00 -bash
root      2640  2443  0 00:55 pts/2    00:00:00 bash
→ bash 쉘을 실행하면 PPID가 달라짐
→ 새로 열린 bash 쉘은 기존 bash쉘의 자식 프로세스
[root@zetawiki ~]# exit
exit
[root@zetawiki ~]# echo $PPID
2439
→ exit로 나가면 다시 그 PPID

3 같이 보기[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}