Linux如何启动,停止和重启服务

Linux如何启动,停止和重启服务
Linux如何启动,停止和重启服务

Linux操作系统的启动过程,首先从BIOS开始启动,然后从磁盘加载MBR, 接下来进入bootloader,载入内核Kernel, 完成内核的初始化。内核初始化的最后一步,需要产生第一个进程,负责管理其他的所有进程。

Linux的初始化进程主要包括以下两种:Sysvinit, Systemd。

init和Systemd的区别

1、init: 

  • init启动时间长,属于串行启动,前一个进程启动完毕,才会启动下一个进程。
  • init启动脚本复杂,Init进程只是执行启动脚本,不负责其他事情,脚本需要自己处理各种情况,这往往使得脚本变得很长。
  • 由Linux内核加载运行,位于 /sbin/init   ,是系统中的第一个进程,PID永远为1。

2、systemd:

  • 按需启动服务,减少系统资源消耗。
  • 尽可能并行启动进程,减少系统启动等待时间
  • 由Linx内核加载运行,位于 /usr/lib/systemd/systemd  ,是系统中第一个进程,PID永远为1

Init 进程的配置文件

参数说明
/etc/init.d/服务启动脚本配置文件存放目录
/etc/inittab默认运行级别配置文件
/etc/init/rcS.conf系统初始化配置文件
/etc/init/rc.conf各运行级别初始化的配置文件
/etc/init/rcS-sulogin.conf单用户模式启动 /sbin/sushell 环境的配置文件
/etc/init/control-alt-delete.conf终端下的 ctrl+alt+del 热键操作的配置文件
/etc/sysconfig/inittty终端的配置文件
/etc/init/start-ttys.conf配置tty终端的开启数量、设备文件
/etc/init/tty.conf  或  /etc/init/serial.conf控制tty终端的开启

Systemd进程的配置文件

参数说明
/etc/systemd/system/default.target取代/etc/inittab文件配置,通常符号链接到 /lib/systemd/system/graphical.target
/run/systemd/system/系统执行过程中所产生的服务脚本所在目录
/etc/systemd/system/里面存放着不同级别的开启自启服务 
/usr/lib/systemd/system/ 和 /lib/systemd/system/ 和,两个文件完全一样,因为lib是/usr/lib的软链接每个服务最主要的启动脚本设置,类似于之前的 /etc/init.d/

运行级别和说明

运行级别说明Rehl 6/7 命令Rhel7 命令
0关机状态,使用该级别将会关机init  0 poweroff
1系统救援模式,多用于系统维护init  1systemctl  isolate  rescue.target
2字符界面的多用户模式(不可访问网络)init  2systemctl  isolate  mutil-user.target
3字符界面的完整多用户模式,大多数服务器主机运行此级别init  3systemctl  isolate  mutil-user.target
4未分配使用init  4systemctl  isolate  mutil-user.target
5图形界面的多用户模式,提供了图形桌面操作环境init  5systemctl  isolate  graphical.target
6重新启动主机init  6reboot

方式二:使用systemd管理服务

因为systemd的使用最为广泛,因为我们先从它来开始谈起。

1. 查看所有服务

要管理某项服务,我们首先需要知道系统上有哪些服务正在运行。我们可以通过如下的命令,来查看系统上的所有服务:

systemctl list-unit-files --type service -all
Linux如何启动,停止和重启服务
systemctl list-unit-files

执行此命令,将输出当前系统所有服务的状态。服务状态包括启动,关闭,屏蔽(在未设置屏蔽之前无效),静态等。

将systemd命令与grep命令结合使用,可以仅显示正在运行的服务

sudo systemctl | grep running
Linux如何启动,停止和重启服务
Display running services systemctl

现在我们能够看到所有正在运行的服务,现在我们就可以根据需要,对这些服务进行管理了。

注意: 使用时,将<service-name> 替换为想要管理的服务。

2. 启动服务

要在Linux中启动服务,只需要使用如下命令:

systemctl start <service-name>

3. 关闭服务

要停止systemd服务,可以使用systemctl stop命令:

systemctl stop <service-name>

4. 重启服务

在Linux系统中,使用systemd重新启动服务,可以使用:

systemctl restart <service-name>

5.检查服务状态

可以通过如下命令,来检查某项服务状态:

systemctl status <service-name>

执行后,输出如下内容:

Linux如何启动,停止和重启服务
systemctl status

方式一: 使用init管理Linux服务

1. 列出所有服务

使用下面的命令,可以列出系统上的所有服务:

service --status-all
Linux如何启动,停止和重启服务
service –status-all

服务前面的[ – ] 是关闭状态,前面的 [ + ] 是启动状态。

2. 启动服务

要启动一项服务,可以通过如下命令:

service <service-name> start

3. 关闭服务

关闭某项服务,可以执行下面的命令:

service <service-name> stop

4. 重启服务

如果想重启服务,可以执行下面的命令:

service <service-name> restart

5. 检查服务状态

此外,为了检查是否达到想要的结果,我们可以执行下面的命令来检查服务状态:

service <service-name> status

执行后会返回类似下面的内容。

Linux如何启动,停止和重启服务
服务状态

通过上面的内容,我们能够看到服务是否处于激活状态(running)

原创文章,作者:牛奇网,如若转载,请注明出处:https://www.niuqi360.com/lamp-config/how-linux-manage-service/

发表评论

登录后才能评论