Vagrant shell与前台"服务器启动不兼容"命令

时间:2016-05-13 03:30:34

标签: shell vagrant

我通过Vagrantfile的内联shell配置在vagrant up上运行shell脚本。其中一个命令启动一个通常在前台运行的tomcat Web服务器。

我的困境是:a)vagrant shell脚本中的命令应该在后台退出或运行,以便提示返回给用户正确,b)如果我使用&将输出发送到后台输出不可见,用户不知道Web服务器何时完成启动。

我要么需要一种方法将输出发送到后台并告诉用户服务器何时启动,或者在服务器启动后发送到后台的方式。没有搞乱maven / tomcat方面,我也没有办法做到这一点。

$script = <<-SCRIPT
    # other commands here
    mvn tomcat7:run &
SCRIPT

config.vm.provision "shell", inline: $script, privileged: false, run: "always"

1 个答案:

答案 0 :(得分:2)

我使用nohup命令并在特定日志文件中重定向命令的输出 - 它没有完全回答并告诉用户服务器何时启动

这是我运行的命令的一个例子

nohup java -jar /test/selenium-server-standalone-$1.jar -role hub &> /home/vagrant/nohup.grid.out&

如果从配置shell中您想要尽可能多地向用户提供信息,您可以使用5/10秒的睡眠(取决于您的部署),然后运行tail -20 <log_file>以便提供用户完成任务进度状态