控制服务和守护进程

systemd是Linux系统和服务管理器,负责启动和管理后台进程,如守护进程。它使用套接字进行通信,并通过服务单元(如service,socket,path)来控制资源。systemctl命令用于控制服务的启动、停止、重启等操作,还能进行服务的状态查询和依赖关系管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

systemd简介

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

后台程序是在执行各种任务的后台等待或运行的进程。一般情况下,守护进程在系统启动时自动启动并持续运行至关机或被手动停止。

为了侦听连接,守护进程使用套接字。这是与本地或远程客户端的主要通信通道。套接字可能能由守护进程创建,或者可能从守护进程隔开并通过另一进程创建,如systemd。当客户端建立连接时,套接字传递到守护进程。所谓服务,它通常指的是一个或多个进程,但启动或停止一项服务可能会对系统的状态进行一次性更改,不会留下守护进程之后继续运行。

守护进程deamon:后台运行或等待的进程,通常以d结尾

PID 1是systemd

服务单元

systemctl命令用于管理服务单元。#systemctl –t help显示可用服务单元类型。

常见单元类型:

(1)service:服务单元,代表系统服务。这种单元用于启动经常访问的守护进程,如web服务器。

(2)socket:套接字单元 ,代表进程间通信(IPC)套接字。套接字的控制可以在建立客户端连接时传递到守护进程或新启动的服务。套接字单元用于延迟系统启动时的服务启动,或者按需启动不常用的服务。

(3)path:路径单元,用于将服务的激活推迟到特定文件系统更改发生之后。这通常用于使用假脱机目录的服务,如打印系统。

列出服务单元
systemctl list-unit --type=service   #--type选项用于指定单元类型
systemctl                            #(不带任何选项)列出已加载和活动的单元
#--all 列出所有单元,--state=选项可以按照字段值(LOAD、ACTIVE、SUB)筛选

systemctl命令控制系统服务

systemctl start name.service         #启动服务
systemctl stop                       #停止服务
systemctl restart                    #重启
systemctl reload                     #重新加载
systemctl list-dependencies          #列出依赖关系
systemctl mask                       #屏蔽服务
#注:屏蔽操作会创建指向/dev/null的链接
systemctl umask                      #取消屏蔽
systemctl enable                     #开机启动
systemctl disable                    #开机不启动
#注:disable服务只能手动启动
systemctl is-enabled                 #验证开机是否启动
systemctl status                     #查看状态

systemctl命令输出的服务状态

关键词

描述

loaded

单元配置文件已处理

active

(running)正在通过一个或多个持续进程运行

(exited)已成功完成一次性配置

(waiting)运行中,但在等待事件

inactive

不在运行

enabled

将在系统启动时启动

disabled

不会在系统启动时启动

static

无法启动,但可以由某一启动的单元自动启动

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值