我有一个简短的 bash 脚本,可以运行一个文件。当我尝试通过“x.sh start”启动它时,出现警告“必须连接到终端”。如何启动它?我尝试了一些 chmods 配置。此脚本位于 /usr/local/bin 中,我现在在我的 Debian 7 vps 上处于 root 状态。
#!/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
答案1
screen
需要一个终端。
如果您想以分离模式启动新会话,则需要将-d -m
参数添加到屏幕。
答案2
答案3
以分离模式启动屏幕:screen -dm /usr/share/game/startlss.sh
答案4
谢谢大家,我在 lss.sh 中添加了 -d -m
server_start() {
screen -d -m /usr/share/game/startlss.sh &
现在一切正常!