ksh脚本会生成具有相同名称的不需要的子节点

时间:2010-01-28 20:05:18

标签: ksh

所以..我在Solaris8上使用KSH很长时间了,但这是我第一次得到这样的东西:

我启动一个脚本 - 让我们称之为splitCfg。当我调用pgrep -x splitCfg时,我找到了这个脚本的两个实例 - 主要实例和我脚本的子节点(ps输出):

root 28069 25107  0 20:22:01 pts/10   0:00 splitCfg
root  4668 28069  0 20:22:50 pts/10   0:00 splitCfg

如您所见 - 第一个实例是孩子的父母。但是 - 没有从主脚本创建的子进程。当我再次调用ps或pgrep或ptree时: 1.没有孩子的过程 要么 2.一个新的子过程

我正在寻找一些解释。我相信我已经搜索了整个互联网,所以是时候向大家询问你的宝贵时间了:))

是某种KSH错误(请注意我使用的是Solaris 8中的旧版本)或者我错过了什么。我知道单个脚本应该创建一个PID并在完成后保留它。

谢谢, Saperzasty

1 个答案:

答案 0 :(得分:2)

如果shell脚本中有括号,则子shell可以在单独的Unix进程中运行,具体取决于您拥有的ksh版本。我认为ksh88i(一个非常旧的版本)仍在Solaris上作为系统shell发布。