如何与rc.local启动的脚本进行交互?
我有一个从rc.local
(在这种情况下是一个minecraft服务器)运行的脚本,我需要能够与之交互(稍后连接到STDIN和STDOUT)。 我怎样才能做到这一点?
你想要做的是使用screen
。 它允许在其会话中生成进程并从中分离。 基本上,您的问题与此类似。
您要执行的3个步骤:
-
下面的行必须进入你的
/etc/rc.local
。 在它的末尾添加&
签名(重要!)screen -S MyMinecraftServer -d -m java -jar ./SOMEFILES/CLEANUP/minecraft_server.1.8.8.jar nogui
-
这是您从命令行查找会话所做的事情:
screen -ls
输出示例:
There is a screen on: 1720.MyMinecraftServer (2017年01月12日 13时54分36秒) (Detached) 1 Socket in /var/run/screen/S-xieerqi.
-
这就是你如何依附它:
screen -x 1720.MyMinecraftServer
注意 :从/etc/rc.local
启动minecraft服务器可能是一个潜在的安全漏洞。 考虑使用su username -c '
以不同的用户身份运行服务器。 另请参见: https : //serverfault.com/a/422952/363611