Я хочу, чтобы файл .jar запускался каждый раз при загрузке сервера (мы используем VPS), поэтому я отредактировал crontab, используя, crontab -e
а затем добавляя @reboot bash /home/bash/startserver.sh
. Но я даже не дошел до того, что сценарий работает вообще.
Вот мой сценарий:
#!/bin/bash
screen -S bukkit
cd $HOME/server
java -jar bukkit.jar
Причина, по которой мне нужно использовать, screen
заключается в том, что когда я запускаю bukkit.jar, он переходит в консоль, где я могу вводить больше команд для этой программы (я уверен, что вы все знакомы с Minecraft и его серверами на этом сайте, хотя Хаха), но мне нужно иметь возможность выполнять другие команды как root и для других программ во время работы, и даже закрывать сеанс PuTTY.
Единственная проблема заключается в том, что при запуске этого сценария он создает сеанс экрана, но его идентификатор отсутствует в списке screen -ls
, так как идентификатор пуст. Скорее я должен пойти, чтобы /run/screen/S-root
найти идентификатор и затем использовать типовое screen -X -S $name quit
на нем.
Может быть, это даже невозможно, или, может быть, на самом деле есть более простой способ сделать это (я бы хотел проще), но я не могу понять, почему это не работает. И если это возможно, возможно ли присоединиться к сеансу screen -S bukkit
при запуске сценария bash? (Думаю, несколько вопросов, но большое спасибо за вашу помощь! (Скобки))