使用Upstart时,控制子进程(子进程)非常重要。但是,什么困惑我的是如下,这已经超越了新贵本身:'su -c command'生成的子进程的数量(子进程)
场景1:[email protected]:~$ ps -ef | grep -v grep | grep sleep
root 8026 6544 0 11:11 pts/2 00:00:00 su cr -c sleep 20 > /tmp/a.out
cr 8027 8026 0 11:11 ? 00:00:00 bash -c sleep 20 > /tmp/a.out
cr 8028 8027 0 11:11 ? 00:00:00 sleep 20
场景2:
[email protected]:~/Desktop# su cr -c 'sleep 20 > /tmp/a.out'
我用了3个进程
[email protected]:~/Desktop# su cr -c 'sleep 20'
我有两个过程是:[email protected]:~$ ps -ef | grep -v grep | grep sleep
root 7975 6544 0 10:03 pts/2 00:00:00 su cr -c sleep 20
cr 7976 7975 0 10:03 ? 00:00:00 sleep 20
的sleep 20
的过程是一个我关心,尤其是暴发户,由新贵管理的过程应该是这样的,而不是bash -c sleep 20 > /tmp/a.out
由暴发户管理,而而不是sleep 20
。
在场景1中,暴发户无法正常工作,以上是原因。
因此,为什么场景1有3个过程,这对我来说没有意义。即使我知道我可以使用命令'exec'来修复它,但我只想获得当两个命令提交时发生的情况。
它看起来像[XY问题](http://meta.stackexchange.com/a/66378/137096)。你真正的问题是什么?忘了'su',你想用'upstart'运行什么命令?描述你期望发生什么以及发生什么。 – jfs