2016-05-26 179 views
1

我从AWS docs阅读:EC2实例启动时可以运行哪种命令/脚本?

而且,因为剧本未交互运行,则不能包括需要用户反馈(如无-y 标志百胜更新) 命令。

我有这样的命令:这似乎

#!/bin/bash 
THIS_NODE_IP=$(/sbin/ip -o -4 addr list eth0 | awk '{print $4}' | cut -d/ -f1) 
​ 
xvfb-run java -jar /home/ubuntu/selenium_server.jar -host $THIS_NODE_IP -role webdriver -port 8181 -maxSession 10 -maxInstances 10 -hub http://my-selenium-hub.com:8080/grid/register platform=LINUX & 

...不运行。启动的硒节点肯定会在控制台中创建反馈,但是我将它发送到背景并且不是交互式的。

回答

1

为您启动EC2实例,但它会停止时谁启动实例的用户将断开

如果你想保留的过程用户断开连接后,你的进程在运行,就可以使用nohup,如果你想获得命令的输出,你可以使用重定向到一个文件中像使用>,像

nohup <yourlongcommand> &> /path_to_file/nohup.grid.out& 

,那么你可以按照硒的执行从nohup.grid.out文件

+0

谢谢你的答案@Frederic。根据AWS文档,启动时运行命令的用户始终是root用户。他是否也断开连接? –

+1

yep最有可能 - 在其他配置情况下,它的工作原理是这样的,用户(root或其他)连接以运行命令,然后断开连接(无论如何,用户连接超时,因此在此会话中没有任何事情会超时) –

+0

理解,但在aws脚本示例中作为服务运行的apache又如何?硒显然不是作为服务运行的。这就是为什么它被打断了? –

相关问题