Ubuntu 添加服务自启动

示例如下

在"/usr/lib/systemd/system"(如果没有该目录,创建即可)目录下添加 loggerserver.service文件,如下​loggerserver.service​

bash 复制代码
[Unit]
Description=logger service
After=network.target

[Service]
Type=simple
ExecStart=/opt/logger_server/start.sh
ExecReload=/opt/logger_server/restart.sh
ExecStop=/opt/logger_server/stop.sh

[Install]
WantedBy=multi-user.target

start.sh 内容如下

bash 复制代码
#!/bin/bash

cd /opt/logger_server
echo `date` > ./run.log
./logger_server >> ./run.log

stop.sh内容如下

bash 复制代码
#!/bin/bash

cd /opt/logger_server/
echo `date` >> ./run.log

pid=`ps -ef | grep logger_server | grep -v 'grep' | grep -v 'pluma' | awk '{print $2}'`

if [ '$pid'!='' ]; then
  kill -9 $pid
  echo "已经杀死了" $pid " 进程。"
else
  echo "没有进程!"
fi

restart.sh

bash 复制代码
#!/bin/bash

cd /opt/logger_server/
echo "开始重启" >> run.log
./stop.sh
sleep 1
./start.sh

最后重新加载服务

复制代码
#!/bin/bash
# reload_service.sh

# 重新加载 systemd 配置
systemctl daemon-reload

# 加入自启动
systemctl enable loggerserver.service

# 重新启动服务
systemctl restart loggerserver.service

# 检查服务状态
# systemctl status tiaoping.service
相关推荐
zx_7414848120 分钟前
【Linux入门】Shell 函数、正则表达式与文本处理:cut 与 awk
linux·运维·正则表达式
Zenova EdgeOS32 分钟前
Linux dmesg 工业边缘实战:内核日志过滤、持久化与故障定位
linux·运维·边缘计算·工业边缘·dmesg·内核日志
金士顿43 分钟前
System.Text.Json Source Generator 深度解析:为什么 Native AOT 不喜欢反射
linux·asp.net core·arm64·net·native aot
wdfk_prog2 小时前
ROS教程08:从 TransportTCP::connect() 追到 TCPROS Connection Header、序列化与 Socket 数据传输
运维·缓存·docker·容器·ros
做运维的阿瑞2 小时前
Python 标准库汇总:分类速览与常用模块清单
linux·运维·python
百万蹄蹄向前冲2 小时前
密码都对Node.js却连不上Linux数据库
linux·mysql
彧azz2 小时前
Linux 网络编程学习总结
linux·网络·笔记·学习·面试
日常筹谋记3 小时前
自动化仓储安全防护工况评估:明治传感器AS-33C技术适配性分析
大数据·运维·创业创新·业界资讯
susplus3 小时前
【ARM 裸机开发 (IMX6ULL-mini)】GNU工具、Makefile 工程构建、链接脚本详解|C 语言点灯 + 蜂鸣器驱动
linux·arm·makefile·imx6ull
Shadow(⊙o⊙)3 小时前
Linux进阶知识1.0
linux·运维·服务器