判断linux系统中的服务管理命令是service还是systemctl

Jushuang Xiao

作为网站维护人员,经常要管理客户linux系统中运行的一些服务,例如mysql,nginx等。然而客户的linux系统版本不同,甚至是不同的distribution,因此我经常会遇到一个问题,到底这个linux的服务管理命令是service还是systemctl呢?

一开始我会用以下办法来解决这个问题,那就是查看当前linux系统的distribution及版本号。因为我在网上经常看到CentOS 6重启mysql的命令是 service mysql restart,CentOS 7的是 systemctl restart mysql。查看linux系统distribution及版本号的命令是 lsb_release -a 。如下图所示,当前linux系统为CentOS 7,所以可以用systemctl来管理系统中运行的服务。

terminal 1.png

大部分情况下这个办法是可行的,但有时候系统中无法使用 lsb_release -a 命令,且linux的distribution也不只有CentOS,还有RedHat、Debian、Ubuntu等。要记住这些distribution版本号对应的服务管理命令也不是不可能,我相信大部分人不会这样做的。

还有一种办法就是尝试,两个命令都试一遍,哪个正确就用哪个。这种办法避免不了会看到一些报错信息,非常不符合系统维护人员精准控制的感觉。

直到我了解到,linux系统中的服务管理程序跟init进程有关系,这个问题才算得到彻底的解决。

计算机从按开机键到系统启动的流程,在流程启动的最后一步就是启动系统的第一个用户态进程init进程,其进程ID永为1。目前比较流行的init进程分为三种:sysvinit、upstart、systemd。使用命令 pstree 就能看到当前的linux系统的init进程。通常我们见到的init进程是sysvinit和systemd,对应系统可以使用的命令是service和systemctl。

例如:

service command.png

可用的服务管理命令是service。

systemctl command.png

可用的服务管理命令是systemctl。

关于作者

Dan Hu

Jushuang Xiao

Subscribe to Our Newsletter

We will deliver China-related web design, web development, and digital marketing information or tips every month.

Stephen Tseng
Stephen Tseng

不要让不确定性束缚你的SEO营销策略

无论是政策变化、经济波动,还是突发的全球事件,企业在制定营销策略时常常需要面对各种变数。不确定性营销决错失大量的市场机会。可能导致营销决策的延迟和执行的犹豫,但如果因此停滞不前,那么企业将错失大量的市场机会。

继续阅读 →

Stephen Tseng
Stephen Tseng

B2B 业务增长的关键:解析行业平均转化率及行业基准

在竞争激烈的 B2B 市场中, lead conversion rate(潜在客户转化率) 是衡量业务成功与否的关键指标之一。它不仅反映了营销策略的有效性,还直接影响到公司的收入增长。本文将深入探讨 B2B 平均转化率的相关数据和行业基准,并为您带来提升转化率的实用建议。

继续阅读 →

Stephen Tseng
Stephen Tseng

内容营销对 SEO 到底有什么用?B2B 出海营销的最佳策略指南

在数字营销领域,“内容为王”早已不是口号,而是决定企业能否被全球潜在客户发现的关键。这一点对正在拓展海外市场的 B2B 企业尤为重要:内容营销与 SEO 紧密结合,才能真正将流量转化为有效询盘和长期客户。

继续阅读 →