Linux PIDSを増やす方法

Linux PIDSを増やす方法

LinuxでPIDSが(通常)4ずつ増加するのはなぜですか?私が考えることができる唯一の例外はsystemdが実行する起動プロセスですが、関連する場合は1を追加し、そうでない場合は2を追加します。

数字4はどのようにデフォルトとして選択されましたか?変更できますか?

答え1

PIDに1を加えたものです。

2 つのシェルを起動します。

シェル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

関連情報