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
标签:systemd,服务,service,sudo,systemctl,Linux,自启动,huyang From: https://www.cnblogs.com/shiyixirui/p/18637308