我想在后台运行脚本,然后编写其pid文件。我正在用nohup做到这一点。
这就是我想出的
nohup ./myprogram.sh > /dev/null 2>&1 & && echo $! > run.pid
但这会带来语法错误。
以下没有给出语法错误,但问题是echo $ !!由于nohup在子shell中运行,因此无法写入正确的pid
(nohup ./myprogram.sh > /dev/null 2>&1 &) && echo $! > run.pid
给定我想要单行语句来实现这一目标的任何解决方案?
重定向后您已经有了一个&符号,这会将脚本置于后台。因此,您只需要在该“&”号之后键入所需的命令,而无需加上其他任何前缀:
nohup ./myprogram.sh > /dev/null 2>&1 & echo $! > run.pid
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句