如何调试暴发户作业?

塞拉

我在从事以下工作/etc/init/collector

start on runlevel [2345]
stop on runlevel [!2345]

expect daemon

exec /usr/bin/twistd -y /path/to/my/tac/file

当我使用开始工作时sudo service collector start,它挂起了。如果我ctrl-c跑步initctl list,我会看到以下信息:

collector start/killed, process 616

twistd在ps中看不到该守护程序的实例,并且它应该提供的HTTP服务器不存在。

我什至没有使用“期望守护程序” script,而是使用对单行bash脚本进行了简单调用,但仍无法正常工作。我想我做错了什么。会是什么呢?

查尔斯

您可以将pragma(而不是)与结合使用来重定向stdoutstderr整个外壳程序,如下所示:scriptexecexec >FILE 2>&1

script
    exec >/path/to/some_log_file 2>&1
    exec your_command_here
end script

希望可以让您更好地了解正在发生的事情。我发现这对于在我的暴发户脚本中捕获各种问题很有用。可以直接通过管道传递stdout/的命令stderr,但是会错过源自shell的错误(例如语法错误)。

另一方面,如果service挂起了,它甚至可能没有命中您的脚本,在这种情况下,这当然没有帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章