补充 systemd 方式启动 QPA 程序参考资料。

Signed-off-by: rick.chan <cy@haoan119.com>
This commit is contained in:
rick.chan 2024-06-14 12:19:31 +08:00
parent 811761311b
commit 71e8718e1f
2 changed files with 51 additions and 4 deletions

View File

@ -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
```

View File

@ -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] | 查看各服务之间的依赖性 <br>--reverse反向查看查看这个服务被哪些服务所用到 <br>省略服务名时:代表查看当前操作环境的服务关系 |
| 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
```