微服务 教程
1085个小节阅读:195.9k
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
服务(service) 本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请求,比如(mysql , sshd 防火墙等),因此我们又称为守护进程。
语法:
xxxxxxxxxx
service 服务名 [start | stop | restart | reload | status]
注意:
service命令其实是去/etc/init.d目录下,去执行相关程序
示例1
查看当前防火墙的状况,关闭防火墙和重启防火墙。
xxxxxxxxxx
[root@zk3 ~]# service iptables status
Linux的启动一直采用init进程。
xxxxxxxxxx
$ sudo /etc/init.d/apache2 start
# 或者
$ service apache2 start
两个缺点:
一是启动时间长。
init
进程是串行启动只有前一个进程启动完,才会启动下一个进程。二是启动脚本复杂。
init
进程只是执行启动脚本,不管其他事情。脚本需要自己处理各种情况,这往往使得脚本变得很长。
Systemd 并不是一个命令,而是一组命令,涉及到系统管理的方方面面。
systemctl
是 Systemd 的主命令,用于管理系统。
System V init命令 | systemctl命令 | 作用 |
---|---|---|
service foo start | systemctl start foo.service | 启动服务 |
service foo restart | systemctl restart foo.service | 重启服务 |
service foo stop | systemctl stop foo.service | 停止服务 |
service foo reload | systemctl reload foo.service | 重新加载配置文件(不终止服务) |
service foo status | systemctl status foo.service | 查看服务状态 |
systemd-analyze
命令用于查看启动耗时。
xxxxxxxxxx
# 查看启动耗时
$ systemd-analyze
# 查看每个服务的启动耗时
$ systemd-analyze blame
# 显示瀑布状的启动过程流
$ systemd-analyze critical-chain
# 显示指定服务的启动流
$ systemd-analyze critical-chain atd.service
hostnamectl
命令用于查看当前主机的信息。
xxxxxxxxxx
# 显示当前主机的信息
$ hostnamectl
# 设置主机名。
$ sudo hostnamectl set-hostname rhel7
timedatectl
命令用于查看当前时区设置。
xxxxxxxxxx
# 查看当前时区设置
$ 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
Systemd 并不是一个命令,而是一组命令,涉及到系统管理的方方面面。
chkconfig命令用来更新、查询、改动不同执行级上的系统服务。比方安装了httpd服务,而且把启动的脚本放在了/etc/rc.d/init.d文件夹下,有时候须要开机自己主动启动它,而有时候则不须要,因此,就能够使chkconfig命令来进行控制。
选项:
参数 参数说明 其他说明 --add 将相应的服务加入chkconfig管理 --del 将相应的服务从chkconfig管理中删除 --level 查看相应服务的运行级别
示例1
列出chkconfig 所知道的所有命令。
xxxxxxxxxx
# chkconfig --list
开启服务。
xxxxxxxxxx
# chkconfig telnet on //开启Telnet 服务
# chkconfig --list //列出chkconfig 所知道的所有的服务的情况
关闭服务
xxxxxxxxxx
# chkconfig telnet off // 关闭 Telnet 服务
# chkconfig --list // 列出chkconfig所知道的所有的服务的情况
systemctl 设置服务开机启动、不启动、查看各级别下服务启动状态等常用命令
System V init 命令 | systemctl 命令 | 作用 |
---|---|---|
chkconfig foo on | systemctl enable foo.service | 开机自动启动 |
chkconfig foo off | systemctl disable foo.service | 开机不自动启动 |
chkconfig foo | systemctl is-enabled foo.service | 查看特定服务是否为 开机自动启动 |
chkconfig --list | systemctl list-unit-files --type=service | 查看各个级别下服务 的启动与禁用情况 |
附录:
经常使用服务介绍
xxxxxxxxxx
amd: # 自己主动安装网络文件系统守侯进程
apmd: # 高级电源管理
Arpwatch: # 记录日志并构建一个在LAN接口上看到的以太网地址和IP地址对数据库
Autofs: # 自己主动安装管理进程automount。与NFS相关,依赖于NIS
Bootparamd: # 引导參数server。为LAN上的无盘工作站提供引导所需的相关信息
crond: # 计划任务
Dhcpd: # 启动一个动态IP地址分配server
Gated: # 网关路由守候进程,使用动态的OSPF路由选择协议
Httpd: # WEBserver
Inetd: # 支持多种网络服务的核心守候程序
Innd: # Usenet新闻server
Linuxconf: # 同意使用本地WEBserver作为用户接口来配置机器
Lpd: # 打印server
Mars-nwe: # mars-nwe文件和用于Novell的打印server
Mcserv: # Midnight命令文件server
named: # DNSserver
netfs: # 安装NFS、Samba和NetWare网络文件系统
network: # 激活已配置网络接口的脚本程序
nfs: # 打开NFS服务
nscd: # nscdserver,用于NIS一个支持服务,它快速缓存用户口令和组成成员关系
portmap: # RPC portmap管理器,与inetd相似,它管理基于RPC服务的连接
postgresql: # 一种SQL数据库server。
routed: # 路由守候进程,使用动态RIP路由选择协议
rstatd: # 一个为LAN上的其他机器收集和提供系统信息的守候程序
ruserd: # 这是一个基于RPC的服务。它提供关于当前记录到LAN上一个机器日志中的用户信息
rwalld: # 这是一项基于RPC的服务。同意用户给每一个注冊到LAN机器的其他终端写消息
rwhod: # 激活rwhod服务进程。它支持LAN的rwho和ruptime服务
sendmail: # 邮件serversendmail
smb: # Samba文件共享/打印服务
snmpd: # 本地简单网络管理候进程
squid: # 激活代理serversquid
syslog: # 一个让系统引导时起动syslog和klogd系统日志守候进程的脚本
xfs: # X Window字型server,为本地和远程Xserver提供字型集
xntpd: # 网络时间server
ypbind: # 为NIS(网络信息系统)客户机激活ypbind服务进程
yppasswdd: # NIS口令server
ypserv: # NIS主server
gpm: # 管鼠标的服务
identd: # AUTH服务。在提供用户信息方面与finger相似
1. Linux系统中针对systemd说法错误的是_____。
A systemd命令解决service命令启动时间长的问题
B systemd命令解决service命令启动脚本复杂的问题
C systemd 取代了initd
D systemd是一个命令
1=>D