EC2 Linux任何新贵作业均返回“未识别的服务”


15

一场噩梦将一些新贵工作从Ubuntu迁移到EC2 Linux(ElasticBeanstalk)

我什至无法完成最基本的任务。我正在使用下面的脚本,该脚本可以在Ubuntu上完美运行,但是当我尝试在EC2 Linux中启动它时,返回非常无用的“无法识别的服务”。我读过这通常是语法错误,但是如果在语法上对于Ubuntu来说还可以的话,则不会出现。非常感谢任何帮助,我只需要任何可行的例子。

这是在/etc/init/test.conf中作为root用户创建的。

安慰:

# sudo service test start
# test: unrecognized service

/etc/init/test.conf:

description "test"

start on startup

script
  echo $(ping -c 1 serverfault.com) > /var/log/testjob.log
end script

Answers:


12

所以出于某种原因,initctl喜欢它,而服务却不喜欢...

sudo initctl start test
test start/running, process 8776

我认为EC2 Linux中有一个错误。我的示例完全符合文档要求,但是没有必要改用initctl

如果要检查正在运行的服务,也可以执行以下操作:

sudo initctl list

并验证日志错误在哪里读取文件 /var/log/messages


也许我应该花一天的时间自己尝试修复此问题,然后再尝试安装daemontools,然后再搜索此答案……
..

1

如果您使用的是AWS Linux AMI而不是Ubuntu,请使用:

start on started network

赞赏这个建议,但没有喜悦。仍然给我“无法识别的服务”错误
Mike Miller

您正在使用什么AMI?
Optichip 2014年

最新的EC2 Linux-无论是Amazon推出ElasticBeanstalk应用程序。感谢您的帮助,在下面找到了答案
Mike Miller

太好了,我也会牢记这一点。
Optichip

根据您的建议,我认为elasticbeanstalk等效项将是start on started elastic-network-interfaces
Mike Miller

0

对于新贵,语法应为sudo start testsudo stop test,而不是init.d系统使用的“服务”语法。


Amazon Linux使用旧版本的Upstart,该版本无法识别/ etc / init中的作业
Asfand Qazi 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.