香橙派3B学习笔记11:systemd服务管理初步测试
紧接着上文提到的snap打包,衔接尝试使用systemd服务管理来测试运行:
香橙派3B学习笔记10:snap打包C/C++程序与动态链接库(.so)-CSDN博客
ssh : orangepi@本地ip
密码 : orangepi操作系统发行版: 基于 Ubuntu 20.04.6 LTS(Focal Fossa)的定制版本,专门为 Orange Pi 设备优化。PRETTY_NAME="Orange Pi 1.0.6 Focal"
目录
创建 systemd 服务文件
前置条件解释:
查询testso真正的可执行文件路径:
创建服务文件:
加载与验证:
问题遗留:
创建 systemd 服务文件
前置条件解释:
衔接之前文章的内容步骤,这里先解释一下前文做到了什么结果:
之前是将打包好的snap包放在了 /home/orangepi/snap_packet_test/test_1/
cd 进这个目录直接输入命令 testso就能运行程序:
查询testso真正的可执行文件路径:
cd /home/orangepi/snap_packet_test/test_1/ 在这个目录下检查testso
which testso
记住这个目录:
/snap/bin/testso
创建服务文件:
在
/etc/systemd/system/
下创建服务文件(testso.service):sudo nano /etc/systemd/system/testso.service
[Unit] Description=Testso Snap Application After=network.target snapd.service Requires=snap-testso-x1.mount[Service] Type=simple ExecStart=/snap/bin/testso Restart=on-failure User=orangepi Group=orangepi Environment="PATH=/snap/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/b> StandardOutput=journal StandardError=journal# 如果需要特定工作目录 WorkingDirectory=/home/orangepi[Install] WantedBy=multi-user.target
加载与验证:
设置权限:
sudo chmod 644 /etc/systemd/system/testso.service
重新加载配置:
sudo systemctl daemon-reload
启动服务:
sudo systemctl enable --now testso.service
验证服务状态:
systemctl status testso.service
journalctl -u testso.service -f
停止服务:
sudo systemctl stop testso.service
验证是否停止:
sudo systemctl status testso.service
禁用开机自启:
sudo systemctl disable testso.service
问题遗留:
由于无法得知控制台输出,不知道程序运行得怎么样,改天写个能控制IO的程序试试