1

我有一个调用其他脚本的 ksh 脚本。初始脚本仅对第二个脚本进行一次调用。但是,如果我执行“ps axwww | grep full_script_name | grep -v grep”,它会显示第二个脚本的 2 个实例,它们都具有不同的 PID。并且 PID 总是彼此相差 4 个数字(例如 22089 和 22093)。

为什么会这样?

4

1 回答 1

1

首先,它不会总是关闭 4,因为最终它会遇到一些仍然分配的 PID。但这可能是场景,或者至少接近它:

  • 开始script.ksh- 获取 PID 42
  • script.ksh调用外部程序,该程序获取 PID 43,然后退出并将控制权返回给脚本
  • script.ksh调用第二个外部程序,得到 PID 44
  • script.ksh调用第三个外部程序,得到 PID 45
  • script.kshcall child-script.ksh,它得到 PID 46,并在你运行时挂起ps

“外部程序”很多 - 从lsawk, sed, perl, sort......

于 2013-06-26T21:56:20.483 回答