2014-01-09 21 views
0

我已將一個名爲screen_tronserver.sh的腳本添加到/etc/init.d/目錄。我已經設置了權限,因此它是可執行的並且被稱爲找不到套接字:在啓動時調用屏幕腳本

update-rc.d /etc/init.d/screen_tronserver.sh defaults 100 

將腳本添加到啓動。 文件裏面如下:

#!/bin/bash 
echo "creating screen and starting tron server..." 
screen -S tronserver -m /home/pi/programming/tronserver/a.out 

a.out文件是一個運行我創建了一個服務器編譯的程序。現在當我打電話

screen -ls 

它說沒有找到套接字。但是,我試圖連接到服務器,它是成功的,表明屏幕/套接字在某處,在後臺運行。

那麼,爲什麼我不能看到這個神祕的插座!?

+1

你嘗試過'sudo screen -ls'嗎? – asm

+0

你知道一個事實,你的服務器程序沒有崩潰嗎?屏幕將在命令完成後立即退出。 – Collin

+0

沒有服務器肯定正常運行 – joelyboy94

回答

2

正如Andrew所暗指的,init腳本以root身份運行,並且屏幕屬於不同的用戶。當您鍵入screen -ls時,您將看到當前用戶的屏幕,而不是系統上的所有屏幕。

所以是的,sudo screen -lssudo screen -r將做的伎倆。

編輯(完整性和備查):由OP指出,有必要也-d標誌添加到屏幕命令在初始化腳本馬上分離,否則屏幕將保持連接。

+1

雖然這個答案是正確的,我可以看到屏幕,使它正常工作的東西是在腳本中的屏幕命令添加-d。這意味着啓動後,pi將從屏幕上分離出來,一切正常 – joelyboy94

相關問題