ubuntu - 为什么对 init.d 脚本的修改被忽略

hap*_*set 6 ubuntu services init.d

我使用的是 Ubuntu 服务器 14.04。在我进行修改/etc/init.d/gearman-job-server并输入后:

# sudo service gearman-job-server restart
Run Code Online (Sandbox Code Playgroud)

它忽略我所做的修改。但随后我输入:

# /etc/init.d/gearman-job-server restart
Run Code Online (Sandbox Code Playgroud)

一切正常。Ubuntu 14.04 中的这些脚本现在是否缓存在某处?

hap*_*set 2

当使用sudo serviceUbuntu 12.04 和 Ubuntu 14.04 时,首先会在 (upstart) 中查找 init 脚本,/etc/init然后在 中查找/etc/init.d,所以它首先会找到这个脚本:

/etc/init/gearman-job-server.conf
Run Code Online (Sandbox Code Playgroud)

进而

/etc/init.d/gearman-job-server
Run Code Online (Sandbox Code Playgroud)

顺便说一句, gearman-job-server.conf 中也存在错误,此处进行了描述。