У меня есть короткий сценарий bash, который может запускать файл. Когда я пытаюсь запустить это с помощью «x.sh start», появляется предупреждение «необходимо подключить к терминалу». Как это начать? Пробовал конфиги chmods. Этот сценарий находится в / usr / local / bin. Теперь я в корневом каталоге на моем Debian 7 vps.
#!/bin/bash
server_start() {
screen /usr/share/s/x.sh &
}
server_stop() {
killall x.sh
killall xx
}
server_restart() {
server_stop
sleep 1
server_start
}
case "$1" in
'start')
server_start
;;
'stop')
server_stop
;;
'restart')
server_restart
;;
*)
echo "usage $0 start|stop|restart"
esac
screen
требуется терминал.
Если вы хотите начать новый сеанс в автономном режиме, вы хотите добавить -d -m
аргументы на экран.
Ваш экранный вызов неверен. Экран требует $STY
переменная среды (-m
вариант предотвратить это.)
Вы должны использовать -d
(начать отдельный сеанс) и -m
(предотвращать $STY
использование переменных среды) вместо &
для запуска сеанса экрана демона.
Проверьте документацию экрана для получения дополнительной информации.
Стартовый экран в автономном режиме: screen -dm /usr/share/game/startlss.sh
Всем спасибо, я добавил -d -m в lss.sh
server_start() {
screen -d -m /usr/share/game/startlss.sh &
Теперь все работает нормально!