你这个新手工作中有一些奇怪的地方让我感到困惑。
1)emit不是我知道的程序,所以除非你将其添加到系统路径中,否则可能会导致错误。你是不是想说'echo'?但这也可能没有帮助,因为它会输出到系统控制台,可能看不见。
2)假设'emit'部分正常工作,你说'expect fork',但实际上却fork了两次。一次是为了'script',然后当teamspeak脚本自己分叉到后台时再fork一次。
3)你使用"su"来运行脚本,但对于大多数情况来说,start-stop-daemon更简单:
在11.10版本中,你不需要在脚本中执行chdir
,不确定这是在你所使用的upstart版本之后添加的。请查阅man 5 init
中关于chdir
的内容。
start on runlevel [2345]
stop on runlevel [^2345]
respawn
chdir /home/danizmax/teamspeak-server
expect fork
exec start-stop-daemon --start --user danizmax --group danizmax --exec /home/danizmax/teamspeak3-server_linux-x86/ts3server_startscript.sh -- start
此外,错误可能会在 /var/log/syslog 中报告。您可以通过运行以下命令来大幅提高错误级别:
initctl log-priority info
运行 man initctl
以获取更多日志级别。