2014-09-12 144 views
0

你好,我有一個服務器運行我創建的遊戲,它有三個SH腳本需要在單獨的終端運行,所以我想知道的是2件事。崩潰時自動重啓SH腳本?

1:有沒有一種方法,我可以得到我雙擊並啓動所有三個腳本,在那裏我可以看到外殼(調試)

2一個腳本:有什麼辦法說腳本在退出或崩潰時會自動重啓? (全自動化的訪問時,該服務器由一個開發爲無人值守)

服務器規格: 6GB內存60GB SSD 6核心CPU 的Ubuntu 14.04 與VNC的桌面控制

回答

1

這裏是爲您SH腳本。

running=1 

finish() 
{ 
    running=0 
} 

trap finish SIGINT 

while ((running)); do 
    // Execute the command here that starts your server. 
    echo "Restarting server on crash.." 
    sleep 5 
done 

您可以在它自己的screen每個服務器上運行此腳本。這樣你可以看到每個控制檯的輸出。例如:

screen -S YOURUNIQUENAME -m THESCRIPTABOVE.sh

爲了從屏幕分離,然後按Ctrl + A,然後按CTRL + D.你能回到屏幕上通過使用screen -x YOURUNIQUENAME

有關使用一個很好的指南screen命令,請參閱此文章:http://www.rackaid.com/blog/linux-screen-tutorial-and-how-to/。它甚至有一個視頻來展示它的使用方式。

+0

運行此腳本時,出現以下錯誤 server.sh:running:not found 有沒有想法? – Ryan 2014-09-13 02:44:24