useApplication 重启程序(保持一直运行状态)
目标
确保 useApplication 在意外停止后能够自动重启,提高服务的可用性和稳定性。
环境
- 操作系统:Ubuntu 22.04 (jetson)
- 应用程序:
useApplication - 安装路径:
/home/nvidia/install/APP
步骤
1. 创建 systemd 服务文件
打开终端。
创建服务文件:
bashsudo gedit /etc/systemd/system/useapp.service编辑服务文件,输入以下内容:
ini[Unit] Description=UserAPP Service After=network.target [Service] User=nvidia WorkingDirectory=/home/nvidia/install/APP Environment=LD_LIBRARY_PATH=/home/nvidia/install/APP:$LD_LIBRARY_PATH ExecStart=/home/nvidia/install/APP/useApplication Restart=always # 设置服务在任何情况下都重新启动 RestartSec=5s [Install] WantedBy=multi-user.target解释:
[Unit]:服务的基本信息。Description:服务的描述。After:确保服务在网络服务启动之后再启动。
[Service]:服务的具体配置。User:运行服务的用户。WorkingDirectory:服务的工作目录。Environment:设置环境变量LD_LIBRARY_PATH。ExecStart:启动服务的命令。Restart:设置服务在任何情况下都重新启动。RestartSec:服务重启前的等待时间(秒)。
[Install]:安装配置。WantedBy:服务在多用户模式下启动。
保存并关闭编辑器(按
Ctrl+X,然后按Y,最后按Enter)。
2. 重新加载 systemd 配置
- 重新加载
systemd配置:bashsudo systemctl daemon-reload
3. 启用并启动服务
启用服务(确保服务在系统启动时自动启动):
bashsudo systemctl enable useapp.service启动服务:
bashsudo systemctl start useapp.service
4. 检查服务状态
检查服务状态:
bashsudo systemctl status useapp.service预期输出:
- 服务应显示为
active (running)。 - 如果服务未启动,查看错误信息并进行相应调整。
- 服务应显示为
5. 查看日志
查看
systemd日志,以了解服务启动和重启的详细信息:bashsudo journalctl -u useapp.service --since "10 minutes ago"解释:
--since "10 minutes ago":只显示最近10分钟的日志。- 查看日志中的错误信息,以确定服务启动失败的原因。
6. 手动测试
手动终止
useApplication进程:bashsudo kill $(pgrep useApplication)等待几秒钟,然后检查进程是否重新启动:
bashps -aux | grep useApplication预期输出:
- 应能看到
useApplication进程重新启动。
- 应能看到




