服务与systemctl脚本-可以使用


24

在Fedora中,我们有'systemctl'和'service'脚本。似乎服务在内部调用systemctl。那么Fedora通过服务systemctlservice设施启动或停止服务的正确/正确方法是什么?可能需要记住一些细微差别?


3
Debian用户,所以不能肯定地回答,但是service foo start在Debian中,无论您的init系统是systemd还是sysvinit还是upstart,它都可以工作;systemctl如果systemd不是PID1,则可能无法正常工作。
沙杜尔2014年

Answers:


14

在Fedora(更高版本)中停止/启动服务的方法是使用systemctl

但是,可能还剩下一些服务/etc/init.d/,您可以使用该service命令进行控制。您仍然可以控制它们,systemctl因为systemd它们会自动将它们映射到单位文件。

例如,在我的CentOS 7(Fedora 19或附近版本)上,有一个/etc/rc.d/init.d/network脚本可以由该service命令控制。如果我改用systemctl它,它仍然可以工作:

# sudo systemctl status network
network.service - LSB: Bring up/down networking
Loaded: loaded (/etc/rc.d/init.d/network)
Active: active (exited) since Tue 2014-11-11 08:21:51 GMT; 2 weeks 1 days ago

正如你所看到的,它已经映射到/etc/rc.d/init.d/networksystemdsystemctl命令控制它。

我可能是“去年”,service而是改用:

# service network status
Configured devices:
lo eth0
Currently active devices:
lo eth0 tun0

两者都有效,但是请注意,它们在status命令中确实给出了不同的结果。


10

通常情况下,service脚本会被重定向到systemctl(Systemd)脚本,因此您基本上希望使用它。

从我的Fedora 20系统。

$ service sshd status
Redirecting to /bin/systemctl status  sshd.service
sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled)
   Active: active (running) since Fri 2014-11-21 09:12:10 EST; 5 days ago
 Main PID: 1095 (sshd)
   CGroup: /system.slice/sshd.service
           └─1095 /usr/sbin/sshd -D

Nov 21 09:12:10 dufresne systemd[1]: Starting OpenSSH server daemon...
Nov 21 09:12:10 dufresne systemd[1]: Started OpenSSH server daemon.
Nov 21 09:12:11 dufresne sshd[1095]: Server listening on 0.0.0.0 port 22.
Nov 21 09:12:11 dufresne sshd[1095]: Server listening on :: port 22.

我通常都使用这两种方法,因为旧习惯很难解决。但是,如果您尝试适应系统世界,那么我将继续强迫自己systemctl尽可能使用某些东西。

此外Systemd带来的一切,你用来做chkconfigservice一个命令下systemctl,所以我一般发现更容易应付的长远目标。

Fedora项目网站上的这份备忘单有助于您进行切换。

   ss1

顺便说一句,原始问题的答案在该页面的脚注中得到了回答:

请注意,上面列出的所有/ sbin / service和/ sbin / chkconfig行继续在systemd上运行,并将在必要时转换为本机等效项。唯一的例外是chkconfig --list。

参考文献

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.