在Vagrant中,我运行一个启动Weblogic和NodeManager的内联脚本
/opt/weblogic/user_projects/domains/custom/startWeblogic.sh &
/opt/weblogic/user_proejcts/domains/custom/bin/startNodeManager &
ps -ef
表示在运行内联脚本时两个进程都在运行。但是,如果我在客户机上运行ssh并运行ps -ef
,则无法找到任何进程。有没有办法在内联脚本之后保持进程运行?
答案 0 :(得分:1)
目前您正在运行脚本,但其执行为root
用户,因此仅为此用户添加了所有行。您想使用privileged
选项
privileged
(boolean) - 指定是否执行shell脚本 作为特权用户(sudo
)。默认情况下,这是“true”。
您将需要与vagrant用户一起运行脚本,以便您可以更改为
config.vm.provision "shell", inline: "/vagrant/scripts/install.sh", privileged: false
然后,您应该使用nohup
在会话停止后保持脚本运行
nohup /opt/weblogic/user_projects/domains/custom/startWeblogic.sh &> /home/vagrant/startWeblogic.out&
nohup /opt/weblogic/user_proejcts/domains/custom/bin/startNodeManager &> /home/vagrant/startNodeManager.out&