2014-01-09 18 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

相关问题