连续运行程序观察 pid 的变化
我的测试环境是 wsl,系统是空载的。理想的情况是两次程序的 pid 连续:
$ grep -i '^pid:' /proc/self/status
Pid: 3355
$ grep -i '^pid:' /proc/self/status
Pid: 3356
但实际上我发现我每次回车(不运行 grep)都会导致 Pid +7,运行 grep 时会 +8(合理,毕竟 grep 本身也是一个进程)。
我以前以为是 bash 在创建子进程的时候会多运行一些东西,所以每次创建的子进程 Pid 不连续。现在发现回车都会导致 Pid 增长,才发现是 PS1
变量的问题。我的 PS1
变量包含了一些代码,用来让 prompt 更加美观。
用以下方式修改 PS1
:
PS1='$ '
现在果然 pid 就是连续了。