systemd服务(一):Linux程序崩溃自启动方法
linux进程挂掉后,可以通过配置 systemd 来自动启动服务
1.创建 systemd 服务文件,例如:huyang.service,需要放置在系统文件夹 /etc/systemd/system
2.编辑文件,填写详细信息
3.操作 systemd 服务
[Unit]
Description=huyang SCRS server # 对服务的描述
After=network.target # 指该服务需要在网络服务启动后,再启动
[Service]
Type=simple # 表示该服务是一个简单的进程
WorkingDirectory=/opt/eloamwss # 服务所在文件夹
ExecStart=/opt/eloamwss/start.sh # 服务启动命令
ExecStop=killall eloamwss # 服务停止命令
Restart=always # 不管什么原因,都会重启
RestartSec=3 # 重启间隔时间3秒
[Install]
WantedBy=multi-user.target
# 拷贝 huyang.service 到 系统文件夹
cp huyang.service /etc/systemd/system/huyang.service
# systemd 服务操作命令
sudo daemon-reload # 重新加载 systemd 的配置
sudo systemctl start huyang.service # 启动 systemd 服务
sudo systemctl stop huyang.service # 停止 systemd 服务
sudo systemctl enable huyang.service # 开机自启动
sudo systemctl disable huyang.service # 关闭开机自启动
sudo systemctl status huyang.service # 查看服务状态
报错排查问题方法
可以通过 获取服务状态 来排查问题(sudo systemctl status huyang.service)
# 报错:Service lacks both ExecStart= and ExecStop= setting. Refusing.
service文件里面有 ExecStart 但是没有 ExecStop,所以我加上了 ExecStop,就好了
# 报错:Unit huyang_SCRS.service is not loaded properly: 无效的参数
我的 ExecStart 使用 shell 脚本来启动的,我也试了直接终端运行 shell 都是成功的,后面发现是 sh 文件不标准,第一行要加入:#!/bin/sh
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具