Linux PIDS를 증가시키는 방법

Linux PIDS를 증가시키는 방법

Linux에서 PIDS가 (일반적으로) 4씩 증가하는 이유는 무엇입니까? 내가 생각할 수 있는 유일한 예외는 systemd가 실행하는 시작 프로세스인데, 관련되면 1을 추가하고 그렇지 않으면 2를 추가합니다.

숫자 4는 어떻게 기본값으로 선택되었나요? 변경될 수 있나요?

답변1

PID에 1을 더한 것입니다.

두 개의 쉘을 시작하십시오.

쉘 1

echo $$
# we assume 1234 as output

쉘 2

strace -f -p 1234 -e trace=clone

쉘 1

sleep 1 ; sleep 1

쉘 2

# output like
clone(Process 25484 attached
child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f4111a029d0) = 25484
[pid 25484] +++ exited with 0 +++
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=25484,si_status=0, si_utime=0, si_stime=0} ---
clone(Process 25485 attached
child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f4111a029d0) = 25485
[pid 25485] +++ exited with 0 +++
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=25485,     si_status=0, si_utime=0, si_stime=0} ---
clone(Process 25486 attached
child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD,child_tidptr=0x7f4111a029d0) = 25486
[pid 25486] +++ exited with 0 +++

답변2

특정 패치를 제외하고(예: gr-security4의 증가가 표시되는 경우 이는 셸이 매번 추가 명령을 실행하기 때문일 수 있습니다(예: viavariables ) $PROMPT_COMMAND.

관련 정보