service命令 service 命令是Redhat Linux兼容的发行版中用来控制系统服务的实用工具,它以启动、停止、重新启动和关闭系统服务,还可以显示所有系统服务的当前状态。

服务(service)本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其他程序的请求,比如(mysql,sshd,防火墙等),因此我们又称为守护进程。

service运行指定服务(称之为System V初始脚本)时,把大部分环境变量去掉了,只保留LANG和TERM两个环境变量,并且把当前路径置为/,也就是说是在一个可以预测的非常干净的环境中运行服务脚本。这种脚本保存在/etc/init.d目录中,它至少要支持start和stop命令。

[root]# uname -a #当前操作系统内核信息 Linux VM-0-11-centos 3.10.0-1160.62.1.el7.x86_64 #1 SMP Tue Apr 5 16:57:59 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux [root]# cat /proc/version #当前操作系统版本信息 Linux version 3.10.0-1160.62.1.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ) #1 SMP Tue Apr 5 16:57:59 UTC 2022 [root]# cat /etc/redhat-release #当前操作系统发行版信息 CentOS Linux release 7.6.1810 (Core)

1.service命令格式 service 选项 服务名 控制命令

选项:显示帮助信息;–status-all:显示所服务的状态。 服务名:自动要控制的服务名,即/etc/init.d目录下的脚本文件名; 控制命令:系统服务脚本支持的控制命令,如启动(start)、停止(stop)、重启(restart)、查看状态(status)等。。

打印指定服务<service>的命令行使用帮助。

$ service <service>

启动指定的系统服务<service>

$ service <service> start

停止指定的系统服务<service>

$ service <service> stop

重新启动指定的系统服务<service>,即先停止(stop),然后再启动(start)。

$ service <service> restart

查看系统服务列表,以及每个服务的运行级别。

$ chkconfig –list

设置指定服务<service>开机时自动启动。

$ chkconfig <service> on

设置指定服务<service>开机时不自动启动。

$ chkconfig <service> off

以全屏幕文本界面设置服务开机时是否自动启动。

$ ntsysv

2.service的不足 历史上,Linux 的启动一直采用init进程。但是init进程也存在一些问题:

$ sudo /etc/init.d/apache2 start

或者

$ service apache2 start

启动时间长。init进程是串行启动,只有前一个进程启动完,才会启动下一个进程。 启动脚本复杂。init进程只是执行启动脚本,不管其他事情。脚本需要自己处理各种情况,这往往使得脚本变得很长。

systemd命令 Systemd 是 Linux 系统工具,用来启动守护进程,已成为大多数发行版的标准配置。

Systemd 就是为了解决这些问题而诞生的。它的设计目标是,为系统的启动和管理提供一套完整的解决方案。根据 Linux 惯例,字母d是守护进程(daemon)的缩写。 Systemd 这个名字的含义,就是它要守护整个系统。Systemd 并不是一个命令,而是一组命令,涉及到系统管理的方方面面。

使用了 Systemd,就不需要再用init了。Systemd 取代了initd,成为系统的第一个进程(PID 等于 1),其他进程都是它的子进程。

查看systemctl 的版本

$ systemctl –version Systemd 并不是一个命令,而是一组命令,涉及到系统管理的方方面面。

1.systemctl systemctl是 Systemd 的主命令,用于管理系统。

重启系统

$ sudo systemctl reboot

关闭系统,切断电源

$ sudo systemctl poweroff

CPU停止工作

$ sudo systemctl halt

暂停系统

$ sudo systemctl suspend

让系统进入冬眠状态

$ sudo systemctl hibernate

让系统进入交互式休眠状态

$ sudo systemctl hybrid-sleep

启动进入救援状态(单用户状态)

$ sudo systemctl rescue

2.systemd-analyze systemd-analyze命令用于查看启动耗时。

查看启动耗时

$ systemd-analyze

查看每个服务的启动耗时

$ systemd-analyze blame

显示瀑布状的启动过程流

$ systemd-analyze critical-chain

显示指定服务的启动流

$ systemd-analyze critical-chain atd.service

3.hostnamectl hostnamectl命令用于查看当前主机的信息。

显示当前主机的信息

$ hostnamectl

设置主机名。

$ sudo hostnamectl set-hostname rhel7 3.4 localectl localectl命令用于查看本地化设置。

查看本地化设置

$ localectl

设置本地化参数。

\( sudo localectl set-locale LANG=en_GB.utf8 \) sudo localectl set-keymap en_GB

4.timedatectl timedatectl命令用于查看当前时区设置。

查看当前时区设置

$ timedatectl

显示所有可用的时区

$ timedatectl list-timezones

设置当前时区

\( sudo timedatectl set-timezone America/New_York \) sudo timedatectl set-time YYYY-MM-DD $ sudo timedatectl set-time HH:MM:SS

5.loginctl loginctl命令用于查看当前登录的用户。

列出当前session

$ loginctl list-sessions

列出当前登录用户

$ loginctl list-users

列出显示指定用户的信息

$ loginctl show-user root

阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。