ubuntu 创建系统服务 开机自启

现在有一个可执行文件如 iotserver 需要长期运行,并且开机自启动远行

一 步骤

1 确保 iotserver 可执行文件具有执行权限

bash 复制代码
chmod +x /home/tg/iot/iotserver 

2 单独运行确认可以运行

/home/tg/iot/iotserver

3 创建服务文件

bash 复制代码
sudo nano /etc/systemd/system/iotserver.service

文件内容如下

bash 复制代码
[Unit]
# 服务的描述,说明这是IOT服务器
Description=IotServer Server 
# 指定在网络服务启动后再启动此服务,确保网络可用:cite[4]:cite[10]
After=network.target  

[Service]
 # 服务类型,一般为simple或forking,如果你的进程会后台化(daemonize),可能需要用forking
Type=simple    
 # 指定运行此服务的用户,出于安全考虑,建议在测试成功后改用非root用户(如:www-data, nobody或新建专用用户)     
User=root   
# 指定运行此服务的用户组        
Group=root    
 # 定义进程退出后的重启方式,always表示总是重启:cite[4]       
Restart=always   
 # 重启服务之前需要等待的秒数:cite[4]   
RestartSec=5     
# 替换为iotserver程序所在的工作目录的绝对路径,这很重要,因为它决定了程序的当前目录   
WorkingDirectory=/home/tg/iot 
# 替换为iotserver可执行文件的绝对路径
ExecStart=/home/tg/iot/iotserver 
# 如果不需要丢弃输出,可以移除 StandardOutput 和 StandardError 配置,日志将由 systemd 的 journal 管理
# 将标准输出重定向到空设备,类似 >/dev/null
# StandardOutput=null 
# 将标准错误重定向到空设备,类似 2>/dev/null
# StandardError=null  
# 或者,如果你想将日志输出到特定文件,可以使用:
# StandardOutput=file:/var/log/iotserver.log
# StandardError=file:/var/log/iotserver.error.log

[Install]
# 指定服务在多用户模式下启用,这是常规的多用户命令行界面运行级别:cite[4]:cite[10]
WantedBy=multi-user.target 

4 重新加载systemd配置

bash 复制代码
sudo systemctl daemon-reload

5 启动服务,并设置它开机自启:

bash 复制代码
sudo systemctl start iotserver    # 启动服务
sudo systemctl enable iotserver   # 启用开机自启

6 使用以下命令检查服务是否正常运行28:

bash 复制代码
sudo systemctl status iotserver

如果服务运行失败,这个命令通常会显示简短的错误信息。

7 要查看更详细的日志,可以使用:

bash 复制代码
journalctl -u iotserver.service -f  # -f 表示持续输出最新的日志
相关推荐
2601_960567962 小时前
电商套图自动化效率的工程量化分析——从逐张生成到批量套图的架构演进
运维·架构·自动化
吳所畏惧3 小时前
宝塔面板Redis密码修改指南:SSH命令修改 vs 面板UI界面修改,哪个更靠谱?
运维·服务器·数据库·redis·缓存·ssh
DFT计算杂谈3 小时前
无 Root 权限在 Tesla K80 零门槛部署 DeepSeek 大模型
linux·服务器·网络·数据库·机器学习
HiDev_4 小时前
【非标自动化】2、认识元器件(确定目标)
运维·自动化
Zhang~Ling4 小时前
从 fopen 到 struct file:从零开始拆解 Linux 文件 I/O
linux·运维·服务器
DeeplyMind4 小时前
Linux 深入 per-VMA lock:Linux 缺页路径如何摆脱 mmap_lock
linux·per-vma lock
爱写代码的森5 小时前
蒙三方库 | harmony-utils之FileUtil文件重命名与属性查询详解
linux·运维·服务器·华为·harmonyos·鸿蒙·huawei
中微极客5 小时前
2026主流AI Agent框架技术选型与性能对比
运维·网络·人工智能
久曲健的测试窝5 小时前
智能座舱自动化测试落地方案:数字仿真搭配实车实测,解决用例运维与场景失真难题
运维
XMAIPC_Robot6 小时前
软硬协同实时控制|RK3588业务调度+FPGA硬件时序,ethercat实现半导体设备微秒级响应(125us)
linux·arm开发·人工智能·fpga开发