无法从cron作业查询upstart服务状态

non*_*gon 3 ubuntu cron upstart

我正在运行Ubuntu 14,我将以下行添加到我的crontab:

*/1 * * * * : testing; /usr/sbin/service my-service status > ~/status 2>&1
Run Code Online (Sandbox Code Playgroud)

在下一分钟滚动之后,我在〜/ status中看到了这个:

my-service: unrecognized service
Run Code Online (Sandbox Code Playgroud)

如果我从终端运行它,它确实识别该服务:

~$ /usr/sbin/service my-service status
my-service stop/waiting
Run Code Online (Sandbox Code Playgroud)

我想知道什么可能导致我的服务在cron作业的环境中无法识别,而不是在我的环境中ssh到服务器时?

non*_*gon 6

我发现这有效:

*/1 * * * * : testing; /sbin/initctl status my-service > ~/status 2>&1
Run Code Online (Sandbox Code Playgroud)

/usr/sbin/service适用于SystemV作业(例如/etc/init.d中的作业),在Ubuntu下它也可以看到Upstart作业(例如/ etc/init中的作业)./sbin/initctl直接与Upstart工作.所以我的猜测是,允许/usr/sbin/service查看Upstart作业的机制在我的cron作业运行的环境中由于某种原因不起作用,但我不确定如何进一步探索.