新贵 - 工作开始但随后立即停止

时间:2014-07-25 09:35:42

标签: php daemon centos6 upstart

我正在尝试设置一个新手工作但由于某种原因它在启动后立即停止

我在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,工作应该停止吗?

任何建议都会非常感激:)

谢谢, 戴夫

1 个答案:

答案 0 :(得分:1)

我宁愿发表评论,但声望极低,我不能。 我不熟悉这种发行版的味道,但你尝试使用nohup吗? 像这样:

nohup php -f /usr/share/test_daemon.php &

将服务进程中的命令分离可能会导致它被终止。