2016-05-26 213 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又如何?硒顯然不是作爲服務運行的。這就是爲什麼它被打斷了? –

相關問題