我在从事以下工作/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(而不是)与结合使用来重定向stdout
和stderr
整个外壳程序,如下所示:script
exec
exec >FILE 2>&1
script
exec >/path/to/some_log_file 2>&1
exec your_command_here
end script
希望可以让您更好地了解正在发生的事情。我发现这对于在我的暴发户脚本中捕获各种问题很有用。您可以直接通过管道传递stdout
/的命令stderr
,但是会错过源自shell的错误(例如语法错误)。
另一方面,如果service
挂起了,它甚至可能没有命中您的脚本,在这种情况下,这当然没有帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句