我在 Ubuntu 14.04 中运行以下命令:
root@ubuntu:~# service rpki-ca restart
stop: Unknown job: rpki-ca
start: Unknown job: rpki-ca
root@ubuntu:~# sudo service rpki-ca restart
rpki-ca stop/waiting
rpki-ca start/running
root@ubuntu:~#
Run Code Online (Sandbox Code Playgroud)
sudo第二个命令的作用是什么?为什么需要root sudo?
好吧,谷歌搜索,找到这个U&L 答案,检查其修订历史记录并遵循修订版 #1中引用的来源,这恰好是一个Upstart 错误;问题是,当切换到 root 运行时,su环境$UPSTART_SESSION变量是从以前的环境中携带的,而不是再次设置。
经过一番绞尽脑汁和谷歌搜索后,我发现了一篇文章(https://unix.stackexchange.com/questions/120050/sudo-service-vsftpd-returns-unknown-job-vsftpd)表明
sudo service xxxx start(或停止,或重新启动)有效,同时
`service xxxx start(在 su 会话中)
不起作用。
所以罪魁祸首显然是环境:如果你使用“su”而不是“sudo su”或“su -”进入root,“service”也无法正常工作,因为“su”将承载大部分正常用户环境到根会话。
经过一些测试,我发现罪魁祸首是 UPSTART_SESSION 环境变量,它在您“su”时设置,但在您“sudo su”或“su -”时未设置。以下是一些测试结果:
-- 不起作用
Run Code Online (Sandbox Code Playgroud)jsveiga@dell:~$ su Password: root@dell:/home/jsveiga# service smbd restart stop: Unknown job: smbd start: Unknown job: smbd-- 甚至可以在 su 会话中工作
Run Code Online (Sandbox Code Playgroud)root@dell:/home/jsveiga# sudo service smbd restart smbd stop/waiting smbd start/running, process 3823——作品
Run Code Online (Sandbox Code Playgroud)root@dell:/home/jsveiga# exit jsveiga@dell:~$ sudo su root@dell:/home/jsveiga# service smbd restart smbd stop/waiting smbd start/running, process 3862——作品
Run Code Online (Sandbox Code Playgroud)root@dell:/home/jsveiga# exit jsveiga@dell:~$ su - Password: root@dell:~# service smbd restart smbd stop/waiting smbd start/running, process 3905-- 执行 su 然后取消 UPSTART_SESSION 的设置
Run Code Online (Sandbox Code Playgroud)root@dell:/home/jsveiga# exit jsveiga@dell:~$ su Password: root@dell:/home/jsveiga# service smbd restart stop: Unknown job: smbd start: Unknown job: smbd root@dell:/home/jsveiga# unset UPSTART_SESSION root@dell:/home/jsveiga# service smbd restart smbd stop/waiting smbd start/running, process 4244因此,启动/停止脚本仅因
UPSTART_SESSION环境变量的存在而失败。BR,若昂·S·维加
要解决此问题,只需取消设置$UPSTART_SESSION:
unset UPSTART_SESSION
Run Code Online (Sandbox Code Playgroud)
或通过其他方式切换到 root,例如su -、sudo su或sudo -i。
| 归档时间: |
|
| 查看次数: |
283 次 |
| 最近记录: |