diff --git a/Software/Development/Environment/Qt/Embedded/Qt_Embedded_说明.md b/Software/Development/Environment/Qt/Embedded/Qt_Embedded_说明.md
index 7a44899..81c571c 100644
--- a/Software/Development/Environment/Qt/Embedded/Qt_Embedded_说明.md
+++ b/Software/Development/Environment/Qt/Embedded/Qt_Embedded_说明.md
@@ -53,6 +53,8 @@ export QT_DEBUG_PLUGINS=1
## 2. 自启动
+### 2.1. init 方式启动
+
如果程序能通过命令行进行启动,则可以通过系统服务来实现自开机自启动。
首先,在 /etc/init.d/ 文件夹下创建一个启动脚本,比如 mydemo:
@@ -127,3 +129,39 @@ chkconfig --level 2345 mydemo on
# 查看服务
chkconfig --list | grep mydemo
```
+
+### 2.1. systemd 方式启动
+
+在 /usr/lib/systemd/system 下创建 mydemo.service 文件,参考内容如下:
+
+```service
+[Unit]
+Description=MyDemo
+# After=syslog.target
+After=network.target
+After=multi-user.target
+# After=graphical.target
+
+[Service]
+RestartSec=2s
+Type=simple
+User=root
+Group=root
+WorkingDirectory=/path/to/workDirectory
+ExecStart=/path/to/demo/demo -platform linuxfb:fb=/dev/fb0:mmsize=1920x1080
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
+```
+
+也可以视情况将 After=multi-user.target 修改为 After=graphical.target。
+
+然后使用 systemctl 命令控制服务:
+
+```bash
+systemctl enable mydemo
+systemctl start mydemo
+systemctl stop mydemo
+systemctl disable mydemo
+```
diff --git a/Software/System/Linux/Modules/Systemd/Systemd_基本控制命令.md b/Software/System/Linux/Modules/Systemd/Systemd_基本控制命令.md
index 2b1ae65..a57c9c0 100644
--- a/Software/System/Linux/Modules/Systemd/Systemd_基本控制命令.md
+++ b/Software/System/Linux/Modules/Systemd/Systemd_基本控制命令.md
@@ -1,6 +1,6 @@
# Systemd 基本控制命令
-## 1.systemctl
+## 1. systemctl
systemctl 可用于 检查和控制 systemd(1) 系统与服务管理器的状态:
@@ -35,8 +35,9 @@ systemctl [OPTIONS...] COMMAND [UNIT...]
| import-environment [VARIABLE…] | 导入 指定的客户端 环境变量 |
| daemon-reload | 重新加载 systemd 守护进程的配置 |
| list-dependencies [服务名] [--reverse] | 查看各服务之间的依赖性
--reverse:反向查看,查看这个服务被哪些服务所用到
省略服务名时:代表查看当前操作环境的服务关系 |
+| list-jobs | 查看当前进行的任务 |
-## 2.systemd-cgls
+## 2. systemd-cgls
systemd-cgls 以树的形式递归显示 指定的 Linux control group 内容的层次结构。 如果指定了 [CGROUP...] 参数, 那么仅递归的显示指定的控制组(cgroup)及其子控制组内的进程。 [CGROUP...] 参数可以指定为 完整的文件路径,也可以指定为 systemd 控制组层次的名称。 如果未指定 [CGROUP...] 参数, 并且当前的工作目录位于 /sys/fs/cgroup 之中, 那么将显示当前目录所对应的控制组中的内容, 否则,显示完整的 systemd 控制组层次结构:
@@ -59,7 +60,7 @@ systemd-cgls [OPTIONS...] --unit|--user-unit [UNIT...]
| --version | 显示简短的版本信息并退出 |
| --no-pager | 不将程序的输出内容管道(pipe)给分页程序 |
-## 3.systemd-analyze
+## 3. systemd-analyze
分析与调试 systemd 系统管理器:
@@ -143,7 +144,7 @@ systemd-analyze [OPTIONS...] security UNIT...
systemd-analyze plot> something.svg
```
-## 4.配置
+## 4. 配置
journal 的配置在 /etc/systemd/journald.conf 中,主要配置项如下:
@@ -166,3 +167,11 @@ LogLevel=info
# LogTarget: Set log target. Argument must be one of console, journal, kmsg, journal-or-kmsg, null.
LogTarget=journal-or-kmsg
```
+
+## 5. 常用命令组合
+
+```bash
+# 关闭/恢复图形显示器虚拟终端字符登录界面。
+sudo systemctl mask getty@tty1.service
+sudo systemctl unmask getty@tty1.service
+```