我有一个调用其他脚本的 ksh 脚本。初始脚本仅对第二个脚本进行一次调用。但是,如果我执行“ps axwww | grep full_script_name | grep -v grep”,它会显示第二个脚本的 2 个实例,它们都具有不同的 PID。并且 PID 总是彼此相差 4 个数字(例如 22089 和 22093)。
为什么会这样?
首先,它不会总是关闭 4,因为最终它会遇到一些仍然分配的 PID。但这可能是场景,或者至少接近它:
script.ksh
- 获取 PID 42script.ksh
调用外部程序,该程序获取 PID 43,然后退出并将控制权返回给脚本script.ksh
调用第二个外部程序,得到 PID 44script.ksh
调用第三个外部程序,得到 PID 45script.ksh
call child-script.ksh
,它得到 PID 46,并在你运行时挂起ps
“外部程序”很多 - 从ls
到awk
, sed
, perl
, sort
......