如何与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

Interesting Posts