2012-04-20 85 views
0

我需要能夠在不連接到屏幕的情況下啓動屏幕,但它還需要運行我的start.sh腳本,其中包含啓動Minecraft的java行。使用命令啓動屏幕

screen -d -m new3 -c start.sh 

就是我一直在嘗試使用,但它永遠不會運行start.sh

在代碼中,我在網上發現它似乎做我想做的一個片段,但我需要一些幫助

mc_start() { 
    cd $MCPATH 
    as_user "cd $MCPATH && screen -dmS $SCREEN $INVOCATION" 
    # 
    # Waiting for the server to start 
    # 
    seconds=0 
    until ps ax | grep -v grep | grep -v -i SCREEN | grep $SERVICE > /dev/null 
    do 
     sleep 1 
     seconds=$seconds+1 
     if [[ $seconds -eq 5 ]] 
     then 
      echo "Still not running, waiting a while longer..." 
     fi 
     if [[ $seconds -ge 120 ]] 
     then 
      echo "Failed to start, aborting." 
      exit 1 
     fi 
    done  
    echo "$SERVICE is running." 
} 

回答

1

我認爲這是因爲你的命令是錯誤的。我假設你想創建一個名爲new3新的會話,並從

screen -d -m -S new3 ~/start.sh 

分離之後,您可以運行下面的命令連接返回到您的會話。

screen -R new3 
+0

我試過了,它說,沒有屏幕以該名稱創建 – 2012-04-20 03:39:10

+0

即使你更新後,仍然 – 2012-04-20 03:41:31

+0

是您的start.sh腳本終止正在創建沒有屏幕?這將導致會議消失。也許把一些會在退出前提示用戶輸入的東西? – 2012-04-20 03:44:00