通过 Vagrant 完成内联脚本后进程停止
Process stops after inline script is done via Vagrant
在 Vagrant 中,我 运行 一个启动 Weblogic 和 NodeManager 的内联脚本
/opt/weblogic/user_projects/domains/custom/startWeblogic.sh &
/opt/weblogic/user_proejcts/domains/custom/bin/startNodeManager &
ps -ef
显示当 运行ning 内联脚本时,两个进程都 运行ning。但是,如果我在来宾计算机中使用 ssh 和 运行 ps -ef
,则找不到这两个进程。有没有办法在内联脚本之后保持进程 运行ning?
目前您 运行 正在运行脚本,但它是以 root
用户的身份执行的,因此所有行都仅为该用户添加。您要使用 privileged
选项
privileged
(boolean) - Specifies whether to execute the shell script
as a privileged user or not (sudo
). By default this is "true".
您需要 运行 流浪用户的脚本,以便您可以更改为
config.vm.provision "shell", inline: "/vagrant/scripts/install.sh", privileged: false
然后您应该使用 nohup
在会话停止后保留脚本 运行ning
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&
在 Vagrant 中,我 运行 一个启动 Weblogic 和 NodeManager 的内联脚本
/opt/weblogic/user_projects/domains/custom/startWeblogic.sh &
/opt/weblogic/user_proejcts/domains/custom/bin/startNodeManager &
ps -ef
显示当 运行ning 内联脚本时,两个进程都 运行ning。但是,如果我在来宾计算机中使用 ssh 和 运行 ps -ef
,则找不到这两个进程。有没有办法在内联脚本之后保持进程 运行ning?
目前您 运行 正在运行脚本,但它是以 root
用户的身份执行的,因此所有行都仅为该用户添加。您要使用 privileged
选项
privileged
(boolean) - Specifies whether to execute the shell script as a privileged user or not (sudo
). By default this is "true".
您需要 运行 流浪用户的脚本,以便您可以更改为
config.vm.provision "shell", inline: "/vagrant/scripts/install.sh", privileged: false
然后您应该使用 nohup
在会话停止后保留脚本 运行ning
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&