Files
.github
.husky
docs
ansible.md
awk.md
bash.md
c.md
cargo.md
chmod.md
cmake.md
colors-named.md
conan.md
cron.md
css.md
curl.md
dart.md
djiango.md
docker.md
dockerfile.md
electron.md
emacs.md
emmet.md
emoji.md
es6.md
expressjs.md
ffmpeg.md
find.md
git.md
github-actions.md
gmail.md
golang.md
graphql.md
grep.md
homebrew.md
html-char.md
html.md
htop.md
http-status-code.md
ini.md
iso-639-1.md
java.md
javascript.md
jest.md
jq.md
json.md
koajs.md
latex.md
lerna.md
lessjs.md
lsof.md
markdown.md
matlab.md
mime.md
mysql.md
netcat.md
netstat.md
nginx.md
npm.md
package.json.md
php.md
postgres.md
python.md
quickreference.md
react.md
regex.md
resolutions.md
ruby.md
rust.md
sass.md
screen.md
sed.md
semver.md
sketch.md
ssh.md
styled-components.md
stylus.md
sublime-text.md
swift.md
swiftui.md
systemd.md
tmux.md
toml.md
typescript.md
vim.md
vscode.md
vue.md
vue2.md
webstorm.md
xcode.md
xpath.md
yaml.md
yarn.md
yum.md
scripts
.dockerignore
.editorconfig
.gitignore
.lintstagedrc
.markdownlint.json
.prettierignore
.prettierrc
CONTRIBUTING.md
Dockerfile
LICENSE
README.md
package.json
renovate.json
reference/docs/systemd.md
fw_qaq 5701da6e5b chore: format markdown code. ()
* format: fix markdown

* update: fix markdown

* update: fix cron problems

* update: delete .markdownlintignore

* update

* chore: add tab -> 4 space

* chore: fix tab -> 2 in the .editorconfig
2022-11-11 01:51:54 +08:00

5.3 KiB
Raw Blame History

Systemd

最常用的 Systemd 命令备忘单快速参考

命令

查看系统信息

:- -
systemctl list-dependencies 显示单元的依赖关系
systemctl list-sockets 列出套接字和激活的内容
systemctl list-jobs 查看活动的 systemd 作业
systemctl list-unit-files 查看单元文件及其状态
systemctl list-units 显示单位是否已加载/活动
systemctl get-default 列出默认目标(如运行级别)

改变系统状态

:- -
systemctl reboot 重启系统(reboot.target)
systemctl poweroff 关闭系统(poweroff.target)
systemctl emergency 进入紧急模式(emergency.target)
systemctl default 返回默认目标(multi-user.target)

使用服务

:- -
systemctl stop service 停止正在运行的服务
systemctl start service 启动服务
systemctl restart service 重新启动正在运行的服务
systemctl reload service 重新加载服务中的所有配置文件
systemctl daemon-reload 必须运行以重新加载更改的单元文件
systemctl status service 查看服务是否正在运行/启用
systemctl --failed 显示未能运行的服务
systemctl reset-failed 将任何单位从失败状态重置
systemctl enable service 使服务在启动时启动
systemctl disable service 禁用服务 - 不会在启动时启动
systemctl show service 显示服务(或其他单元)的属性
systemctl edit service 创建片段以放入单元文件
systemctl edit --full service 编辑整个单元文件以进行服务
systemctl -H host status network 远程运行任何 systemctl 命令

查看日志消息

:- -
journalctl 显示所有收集的日志消息
journalctl -u network.service 查看网络服务消息
journalctl -f 关注出现的消息
journalctl -k 仅显示内核消息

SysVinit 到 Systemd

SysVinit Systemd 说明
service SERVICE_NAME start systemctl start SERVICE_NAME 用于启动服务(不重启持久)
service SERVICE_NAME stop systemctl stop SERVICE_NAME 用于停止服务(不永久重启)
service SERVICE_NAME restart systemctl restart SERVICE_NAME 用于停止然后启动服务
service SERVICE_NAME reload systemctl reload SERVICE_NAME 重新加载配置文件而不中断挂起的操作
service SERVICE_NAME condrestart systemctl condrestart SERVICE_NAME 如果服务已在运行,则重新启动
service SERVICE_NAME status systemctl status SERVICE_NAME 判断服务当前是否正在运行
chkconfig SERVICE_NAME on systemctl enable SERVICE_NAME 打开服务,以便在下次启动时启动,或其他触发器
chkconfig SERVICE_NAME off systemctl disable SERVICE_NAME 为下次重新启动或任何其他触发器关闭服务
chkconfig SERVICE_NAME systemctl is-enabled SERVICE_NAME 用于检查服务是否配置为在当前环境中启动
chkconfig list systemctl list-unit-files type=service (or)
ls /etc/systemd/system/*.wants/
打印一个服务表,列出每个配置的运行级别打开或关闭
chkconfig list | grep 5:on systemctl list-dependencies graphical.target 打印启动到图形模式时将启动的服务表
chkconfig SERVICE_NAME list ls /etc/systemd/system/*.wants/SERVICE_NAME.service 用于列出此服务配置为打开或关闭的级别
chkconfig SERVICE_NAME add systemctl daemon-reload 在创建新服务文件或修改任何配置时使用

目标运行级别

SysVinit Systemd 说明
0 runlevel0.target, poweroff.target 停止系统
1, s, single runlevel1.target, rescue.target 单用户模式
2, 4 runlevel2.target, runlevel4.target, multi-user.target 用户定义/站点特定的运行级别。 默认情况下,与 3 相同
3 runlevel3.target, multi-user.target 多用户,非图形。 用户通常可以通过多个控制台或通过网络登录
5 runlevel5.target, graphical.target 多用户,图形。 通常具有运行级别 3 的所有服务以及图形登录
6 runlevel6.target, reboot.target 重启
emergency emergency.target 应急外壳

更改运行级别

SysVinit Systemd 说明
telinit 3 systemctl isolate multi-user.target
OR systemctl isolate runlevel3.target
OR telinit 3
更改为多用户运行级别
sed s/^id:.*:initdefault:/id:3:initdefault:/ ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target 设置为在下次重新启动时使用多用户运行级别

另见