"$PPID"의 두 판 사이의 차이

잔글 (봇: 자동으로 텍스트 교체 (-<source lang='cli'> +<source lang='console'>))
잔글 (봇: 자동으로 텍스트 교체 (-source +syntaxhighlight))
 
8번째 줄: 8번째 줄:


==실습==
==실습==
<source lang='console'>
<syntaxhighlight lang='console'>
[root@zetawiki ~]# echo $PPID
[root@zetawiki ~]# echo $PPID
2439
2439
16번째 줄: 16번째 줄:
[root@zetawiki ~]# tty
[root@zetawiki ~]# tty
/dev/pts/2
/dev/pts/2
</source>
</syntaxhighlight>
:→ 현재 bash 쉘의 PID는 2443
:→ 현재 bash 쉘의 PID는 2443
:→ 그 부모 프로세스인 sshd의 PID는 2439 (이것이 $PPID 값)
:→ 그 부모 프로세스인 sshd의 PID는 2439 (이것이 $PPID 값)
:→ sshd가 열고 있는 세션이 pts/2이며, tty와 동일함
:→ sshd가 열고 있는 세션이 pts/2이며, tty와 동일함


<source lang='console'>
<syntaxhighlight lang='console'>
[root@zetawiki ~]# PPID=1234
[root@zetawiki ~]# PPID=1234
-bash: PPID: readonly variable
-bash: PPID: readonly variable
[root@zetawiki ~]# echo $PPID
[root@zetawiki ~]# echo $PPID
2439
2439
</source>
</syntaxhighlight>
:→ 변경 불가
:→ 변경 불가


<source lang='console'>
<syntaxhighlight lang='console'>
[root@zetawiki ~]# bash
[root@zetawiki ~]# bash
[root@zetawiki ~]# echo $PPID
[root@zetawiki ~]# echo $PPID
36번째 줄: 36번째 줄:
root      2443  2439  0 00:15 pts/2    00:00:00 -bash
root      2443  2439  0 00:15 pts/2    00:00:00 -bash
root      2640  2443  0 00:55 pts/2    00:00:00 bash
root      2640  2443  0 00:55 pts/2    00:00:00 bash
</source>
</syntaxhighlight>
:→ bash 쉘을 실행하면 PPID가 달라짐
:→ bash 쉘을 실행하면 PPID가 달라짐
:→ 새로 열린 bash 쉘은 기존 bash쉘의 자식 프로세스
:→ 새로 열린 bash 쉘은 기존 bash쉘의 자식 프로세스


<source lang='console'>
<syntaxhighlight lang='console'>
[root@zetawiki ~]# exit
[root@zetawiki ~]# exit
exit
exit
[root@zetawiki ~]# echo $PPID
[root@zetawiki ~]# echo $PPID
2439
2439
</source>
</syntaxhighlight>
:→ exit로 나가면 다시 그 PPID
:→ exit로 나가면 다시 그 PPID



2020년 11월 2일 (월) 02:37 기준 최신판

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 }}