我正在尝试设置一个新手工作但由于某种原因它在启动后立即停止
我在Cents 6.5 btw
这是我的档案:
/ect/init/test-daemon.conf
start on startup
stop on shutdown
respawn
script
sudo -u root php -f /usr/share/test_daemon.php
end script
/usr/share/test-daemon.php
<?php
// The worker will execute every X seconds:
$seconds = 2;
// We work out the micro seconds ready to be used by the 'usleep' function.
$micro = $seconds * 1000000;
while(true){
// Now before we 'cycle' again, we'll sleep for a bit...
usleep($micro);
}
然后我得到了这个文件:(我在一个记录事件的论坛上找到了)
/tmp/log.file
debug/ (/dev/fd/10):19735:Fri Jul 25 11:52:40 AST 2014:Job
test-daemon/ starting. Environment was: TERM=linux
PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin
PWD=/ JOB=test-daemon
SHLVL=1
UPSTART_INSTANCE=
UPSTART_EVENTS=starting
UPSTART_JOB=debug
INSTANCE=
_=/usr/bin/env
debug/ (/dev/fd/9):19775:Fri Jul 25 11:52:41 AST 2014:Job test-daemon/ stopping. Environment was:
TERM=linux
PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin
PWD=/
JOB=test-daemon
RESULT=ok
SHLVL=1
UPSTART_INSTANCE=
UPSTART_EVENTS=stopping
UPSTART_JOB=debug
INSTANCE=
_=/usr/bin/env
debug/ (/dev/fd/9):19779:Fri Jul 25 11:52:41 AST 2014:Job test-daemon/ stopping. Environment was:
TERM=linux
PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin
PWD=/
JOB=test-daemon
RESULT=failed
SHLVL=1
PROCESS=respawn
UPSTART_INSTANCE=
UPSTART_EVENTS=stopping
UPSTART_JOB=debug
INSTANCE=
_=/usr/bin/env
在日志文件中,我得到了更多的调试信息,但基本上重复了几次。
我通过运行start test-daemon
输出test-daemon start/running, process 20600
我知道test-daemon.php实际上并没有做任何事情......目前我只需要让实际的工作运行,一旦这样就修复了我的代码
所以从上面来看......有什么我做错了吗?因为如果我正确地运行stop test-daemon
,工作应该停止吗?
任何建议都会非常感激:)
谢谢, 戴夫
答案 0 :(得分:1)
我宁愿发表评论,但声望极低,我不能。 我不熟悉这种发行版的味道,但你尝试使用nohup吗? 像这样:
nohup php -f /usr/share/test_daemon.php &
将服务进程中的命令分离可能会导致它被终止。