惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Schneier on Security
博客园_首页
量子位
博客园 - 司徒正美
S
SegmentFault 最新的问题
J
Java Code Geeks
小众软件
小众软件
博客园 - 【当耐特】
The Register - Security
The Register - Security
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Microsoft Azure Blog
Microsoft Azure Blog
G
Google Developers Blog
Blog — PlanetScale
Blog — PlanetScale
T
Tailwind CSS Blog
博客园 - Franky
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
G
GRAHAM CLULEY
Cyberwarzone
Cyberwarzone
腾讯CDC
Apple Machine Learning Research
Apple Machine Learning Research
V
Visual Studio Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
The Hacker News
The Hacker News
aimingoo的专栏
aimingoo的专栏
V
Vulnerabilities – Threatpost
P
Palo Alto Networks Blog
Scott Helme
Scott Helme
L
LINUX DO - 热门话题
F
Full Disclosure
D
DataBreaches.Net
Martin Fowler
Martin Fowler
Cisco Talos Blog
Cisco Talos Blog
L
LINUX DO - 最新话题
云风的 BLOG
云风的 BLOG
C
Check Point Blog
T
Threatpost
Google DeepMind News
Google DeepMind News
WordPress大学
WordPress大学
W
WeLiveSecurity
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
有赞技术团队
有赞技术团队
Hugging Face - Blog
Hugging Face - Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
L
Lohrmann on Cybersecurity
Last Week in AI
Last Week in AI
T
Tor Project blog
T
Troy Hunt's Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
S
Security Affairs
SecWiki News
SecWiki News

Yee's Blog

腾讯云/轻量云 安装ArchLinux的个人记录 记录我的联想M720Q Arch Sway窗口管理器的安装和配置过程 Jenkins Linux安装 腾讯课堂、钉钉在线网课视频直播回放下载离线播放 Ceph块设备对RBD块设备操作LVM创建PV时报错 Ceph映射RBD块设备 2020年9月26日前端部门Vue考核 2020年9月26日后端部门Python考核 Nginx反向代理下载传输超过1G大文件时断开问题 Windows Server 2019 Datacenter M720q 安装记录 Ceph块设备基础及快照、克隆操作 从Ceph集群中删除OSD节点 Centos8配置 chrony NTP服务端及客户端 搭建Ceph集群 Ceph硬件准备 OSD与Pool池的常见操作及管理 Ceph用户管理 MacOS睡眠管理——让你的Mac睡的更香 初中古诗文必背篇目 Ansible 技巧之场 Ansible 包含和导入文件 Ansible 学习文档 Ansible 主机模式 Ansible 角色 Ansible 调整连接数 Splunk数据搜索和报表 Ansible 常用模块 Ansible 变量和事实 Ansible 任务控制 Ansible Playbook Ansible 基础概念 42Team-Flask框架-HTTP协议快速了解 42Team-Flask框架-路由和视图 42Team-Flask框架-请求与响应 42Team-Flask框架 42Team-Flask框架-Flask介绍 42Team-Flask框架-使用Pycharm来构建一个全新的Flask项目 How to install RHEL8(Centos) on Dell R710/R610 server Centos8安装Docker报错解决方案 Centos8安装Docker后容器内无法访问网络 Docker或Podman容器内无法解析DNS问题多种解决方案 使用NetworkManager来管理树莓派Ubuntu系统网络以及个人的体验优化 Linux 存储设备的挂载及识别 Firewalld 防火墙常用指令教程-常用规则(禁止Ping | 放行端口) Linux 查找系统中的文件 Linux SSH远程访问 42Team小组_Linux基础培训课件 如何在AmazeUI中当改变select标签后触发Vue方法的问题 使用Docker部署安装WordPress博客平台 在Raspberry树莓派中搭建NFS存储服务器 在 树莓派 Linux 中搭建匿名 danted socks5 代理服务器 HTTP与HTTPS区别随笔 Bash/Shell学习笔记
Linux 守护进程和控制服务
本文作者: YeeFire · 2020-02-21 · via Yee's Blog
  • systemd简介
  • systemctl简介
  • 查询服务状态
  • 控制系统服务
    • 停止服务并检查服务状态
    • 启动服务并检查服务状态
    • 重启服务实现对服务的停止和启动
    • 发出指令使服务在不停止或重启的情况下重新加载其配置文件
    • 屏蔽系统服务
    • 使守护进程在系统启动时自动启动和停止

systemd简介

Linux系统和服务进程由systemd系统和服务管理器进行管理,它提供了一种方式可以在启动时和运行中的系统上激活系统资源、Web守护进程和其他进程。

一般情况下,守护进程在系统启动时自动开启并持续维护服务运行,直到服务器关机或手动停止。通常来说,守护进程的进程名以d命名结尾。

systemctl简介

systemctl命令用于管理各种类型的systemd对象,他们称之为单元。使用systemctl命令可以对单元进行状态的管理,比如运行、停止运行、设置为开机启动等。

比较重要的一个单元类型是服务单元,服务单元通常的拓展名为.service,代表系统服务。这种单元用于启动经常访问的守护进程,如NginxWeb服务器。还有其他单元类型,如socket套接字单元、path路径单元等。

查询服务状态

使用systemctl status name[.type]来查询服务状态。如果未提供单元类型(type),则默认为service服务单元。(如果该服务单元存在的话~)

systemctl status sshd.service   
● sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2020-01-31 10:38:57 CST; 3h 15min ago
Docs: man:sshd(8)
man:sshd_config(5)
Main PID: 1572 (sshd)
Tasks: 1 (limit: 49169)
Memory: 7.7M
CGroup: /system.slice/sshd.service
└─1572 /usr/sbin/sshd -D -oCiphers=aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,aes256-ctr,aes256-cbc,aes128-gcm@openssh.com,aes128-ctr,aes128-cbc -oMACs=hmac-sh>
Jan 31 11:32:15 centos8 sshd[4221]: Accepted password for yourname from 192.168.1.157 port 44876 ssh2
Jan 31 11:32:15 centos8 sshd[4221]: pam_unix(sshd:session): session opened for user yourname by (uid=0)
Jan 31 11:32:27 centos8 sshd[4307]: Accepted password for yourname from 192.168.1.157 port 44900 ssh2

status.png

在上面的状态中找到几个关键词:

关键词 描述
loaded 单元配置文件已受理
enabled 在系统启动时自动运行
disabled 在启动运行时不会自动启动
active(running) 正在通过一个或多个进程持续运行中
active(exited) 已经成功完成一次性的任务并结束守护
active(waiting) 运行中,但正在等待事件发生…
inactive 进程没有运行

控制系统服务

停止服务并检查服务状态

systemctl stop sshd.service
systemctl status sshd.service

启动服务并检查服务状态

systemctl start sshd.service
systemctl status sshd.service

重启服务实现对服务的停止和启动

systemctl restart sshd.service
systemctl status sshd.service

发出指令使服务在不停止或重启的情况下重新加载其配置文件

如果对服务的配置文件进行了修改,不想对服务关闭影响业务的情况下使用reload选项来让服务对配置文件重新读取并加载。

systemctl reload sshd.service
systemctl status sshd.service

屏蔽系统服务

有些时候,系统中可能安装了相互冲突的服务,比如防火墙iptablesfirewalld。为了防止管理员意外的启动两个服务可以将服务进行屏蔽。屏蔽服务将在配置文件目录中创建软连接,将其服务指向/dev/null设备文件,这样不小心启动了冲突的服务也不会出现有什么刺激的事情发生!

systemctl mask sshd.service 
Created symlink /etc/systemd/system/sshd.service → /dev/null.
systemctl start sshd.service 
Failed to start sshd.service: Unit sshd.service is masked.
systemctl unmask sshd.service 
Removed /etc/systemd/system/sshd.service.

使守护进程在系统启动时自动启动和停止

在使用systemctl对一个守护进程启动或停止,不能保证其下一次系统运行时也是启动或停止的状态。当相应的systemd配置目录中创建了软连接时,服务会随着系统启动的时候启动。软连接可以通过systemctl命令创建和删除。

首先要查看服务状态,如果关键词出现disabled证明这个服务在系统启动时不会随着系统一起启动,否则相反。

systemctl enable sshd.service   
systemctl is-enabled sshd.service
enabled
systemctl disable sshd.service   
systemctl is-enabled sshd.service
disabled