





















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

在上面的状态中找到几个关键词:
| 关键词 | 描述 |
|---|---|
| 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
有些时候,系统中可能安装了相互冲突的服务,比如防火墙iptables与firewalld。为了防止管理员意外的启动两个服务可以将服务进行屏蔽。屏蔽服务将在配置文件目录中创建软连接,将其服务指向/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
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。