Ubuntu 14.04 服务器,在启动/重启时在屏幕上启动 jar

Ubuntu 14.04 服务器,在启动/重启时在屏幕上启动 jar

我已经到处阅读关于如何做到这一点的资料,并且我知道如何做到这一点,但由于某种原因,我无法让它正常工作。

我只是想在重新启动或启动时运行一个 jar 文件,该 jar 文件是 teamspeak3 的服务器机器人,它基本上需要在 teamspeak 启动后运行。

我想在启动时运行的代码是

screen -d -m -S ts3bot java -jar JTS3ServerMod.jar

.conf 的文件名和位置:

$ cat /etc/init/serverbot.conf
description "serverbot"  
author "Peter"  

start on runlevel [3]  
stop on shutdown  

expect fork  

script  
   cd /home/teamspeak/sbot
   screen -d -m -S ts3bot java -jar JTS3ServerMod.jar >/var/log/sbot.log 2>&1  
   emit serverbot_running  
end script 

当我以 root 身份运行代码时,我得到的结果如下

$ start serverbot
start: Job failed to start

然后我进入日志@/var/log/upstart我看到了这个

/proc/self/fd/9: 2: cd: can't cd to /home/teamspeak/sbot

如果我更改cd为,chdir我仍然会得到相同的结果。该文件夹/home/teamspeak/sbot确实存在

有人知道是什么原因造成的吗?所有权问题?当 upstart 运行 时.conf,它在哪个用户下运行?我不明白这里发生了什么。

root@fister4:/# namei -mo /home/teamspeak/sbot
f: /home/teamspeak/sbot
 drwxr-xr-x root      root      /
 drwxr-xr-x root      root      home
 drwxr-xr-x teamspeak teamspeak teamspeak
 drwxr-xr-- teamspeak teamspeak sbot

答案1

我变了

cd /home/teamspeak/sbot

cd /home/teamspeak/sbot/

并且它正确加载到目录中,没有错误

相关内容