我希望每次服务器启动时都运行一个.jar文件(我们使用的是VPS),因此我使用crontab -e
,然后添加来编辑crontab @reboot bash /home/bash/startserver.sh
。但是我什至还没有达到脚本可以工作的地步。
这是我的脚本:
#!/bin/bash
screen -S bukkit
cd $HOME/server
java -jar bukkit.jar
我需要使用的原因screen
是,当我启动bukkit.jar时,它将进入控制台,在该控制台中,我可以为该程序输入更多命令(不过,我确信您对该站点上的Minecraft及其服务器都非常熟悉。 ,哈哈),但我需要能够在运行时以root用户的身份对其他程序执行其他命令,甚至关闭我的PuTTY会话。
唯一的问题是,运行此脚本时,它将创建一个屏幕会话,但是ID 为,因此ID 未在中列出screen -ls
。相反,我必须去/run/screen/S-root
查找ID,然后screen -X -S $name quit
在其上使用典型的ID 。
也许这甚至是不可能的,或者实际上有一个更简单的方法可以做到这一点(我想更简单),但是我不知道为什么这不起作用。并且如果可行,screen -S bukkit
在运行bash脚本时是否可以重新加入会话?(我想有多个问题,但是非常感谢您的帮助!(括号))