首页 > 解决方案 > 为什么 nohup 在这种情况下不起作用?

问题描述

这里是内容start.sh

cmd="nohup java -cp lib/*:../common/lib/* -server -Dlogback.configurationFile=cfg/logback.xml -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=30002 simulator4j.SimulateEngine --config cfg/config.pb --properties properties/  &"
$cmd

当我运行时./start.sh,它一直阻塞,直到我输入ctrl+c。如果我直接在终端输入cmd,效果很好

标签: javashell

解决方案


bash您可以使用以下eval命令执行字符串:

cmd="nohup java -cp lib/*:../common/lib/* -server -Dlogback.configurationFile=cfg/logback.xml -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=30002 simulator4j.SimulateEngine --config cfg/config.pb --properties properties/  &"
eval $cmd

推荐阅读