【问题标题】:Run a process in background from a unix sh script从 unix sh 脚本在后台运行进程
【发布时间】:2014-03-25 13:17:01
【问题描述】:

好的,我的第一个问题很抱歉我问的方式有任何错误。

我正在尝试创建一个脚本 jenkins.sh,它应该在后台调用/启动另一个进程 (start_rhino.sh)(如果正常启动,它将接管控制台并且除非停止,否则不会释放命令行) .

到目前为止我已经尝试过:

./start-rhino.sh & -> 启动进程同./start-rhino.sh

nohup ./start-rhino.sh & -> 需要按键才能继续

他们都没有立即释放命令行以使脚本继续运行。绝望中我也尝试了双 && 和 /& 但没有成功。我认为 nohup 效果最好,但它需要按下“enter”键才能继续命令行(我直接从命令行尝试过,而不是通过运行脚本)

【问题讨论】:

    标签: unix scripting background sh


    【解决方案1】:

    nohup ./start-rhino.sh < /dev/null 2>&1 > /dev/null &

    【讨论】:

    • 我试过了,但是当我运行初始脚本“jenkins.sh”时,它说“nohup:将标准错误重定向到标准输出”,然后什么都没有发生。脚本挂起,不再进行。有没有一种特殊的方法可以编写从 sh 文件中正确运行的命令?
    • start-rhino.sh 是做什么的?你说它需要按键。什么在等待按键?是脚本,还是脚本中的某些内容?
    • 'start-rhino.sh' 启动服务器应用程序。当我说 nohup 需要按键时,我的意思是在使用它时它不会立即释放命令行,但它需要按键才能显示命令行提示符。对不起,我的解释很糟糕。
    • 是的,但这意味着 something 正在等待按键。什么在等待?它是“服务器应用程序”,还是脚本中的某个东西?
    • 没什么...在我的脚本中没有用户输入...而且 rhino-start.sh 不要求任何东西...我什至搜索了developer.opencloud.com/devportal/display/OCDEV/Rhino+2.3 以获取一些官方信息,但是没什么...感谢您的帮助。我将尝试从脚本中模拟 ctrl+Z。你知道我该怎么做吗?
    猜你喜欢
    • 2017-07-09
    • 2013-10-09
    • 2021-08-11
    • 1970-01-01
    • 2019-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多