Linux自定义系统服务

自定义系统服务

简介

可以把一些python脚本,shell脚本,启动命令等交给systemd去操作

systemctl 是一个基于systemd的系统服务管理工具,它用于启动、停止、重启、启动级别控制、查看状态和管理系统单元。通过它,你可以管理systemd系统和服务管理器。

如果你想要自己编写一个系统服务,并通过systemctl进行管理,你需要创建一个服务单元文件,并将其放置在正确的目录中,以便systemd可以识别和管理它。

文件路径

再次路径下创建文件

/etc/systemd/system/

文件格式以及命名

命名:xxxxx.service,此文件名将会作为系统服务名称

格式如下(简单格式):

[Unit]
Description=My Python Script
After=network.target
 
[Service]
Type=simple
ExecStart=/usr/bin/python3 /path/to/your/script.py
 
[Install]
WantedBy=multi-user.target

参数说明

[Unit]:服务单元的配置节,其中可以包含以下参数:
    Description:服务的描述信息。
    Documentation:服务文档的URL。
    Requires:服务所依赖的其他服务。
    Wants:服务希望但不是必须依赖的其他服务。
    After:服务启动的顺序。
    Before:服务停止的顺序。
    Conflicts:与该服务冲突的其他服务。
[Service]:服务的配置节,其中可以包含以下参数:
    Type:服务的类型,包括simple、forking、oneshot、dbus、notify等。
    ExecStart:服务的启动命令。
    ExecStop:服务的停止命令。
    ExecReload:服务的重启命令。
    User:服务运行的用户。
    Group:服务运行的用户组。
    WorkingDirectory:服务的工作目录。
    Environment:服务的环境变量。
    Restart:服务出错后的重启策略。
    RestartSec:重启之前等待的时间。
    TimeoutStartSec:启动超时时间。
    TimeoutStopSec:停止超时时间。
    PIDFile:服务的进程ID文件。
    UMask:服务的文件掩码。
    LimitNOFILE:服务能够打开的文件数的限制。
    LimitNPROC:服务能够创建的进程数的限制。
[Install]:安装服务的配置节,其中可以包含以下参数:
    WantedBy:服务在哪些目标中启用。
    RequiredBy:服务在哪些目标中必须启用。

配置重载

配置成功后需要执行重载,而且每次修改service文件后也需要重载才能生效,使用systemctl 执行时 可以联想出配置的任务了

sudo systemctl daemon-reload

基本命令

sudo systemctl start xxxx_test.service  #启动服务
sudo systemctl stop xxxx_test.service   #停止服务
sudo systemctl restart xxxx_test.service #重启服务
sudo systemctl status xxxx_test.service # 查看服务状态
sudo systemctl list-unit-files #查看服务单元

在这里插入图片描述

服务状态设置

开机自启

sudo systemctl enable my-static-service.service

取消自启(手动启动)

sudo systemctl disable my-static-service.service

删除服务

停止服务,设置disable,删除service文件,重载systemctl

注意

1.service文件要放在指定路径,新增文件或者修改文件需要重载

2.restart,stop不需要在service配置也可以,reload需要配置

3.当你只修改service文件里面的启动的文件,那么可以不重新加载,因为systemd就相当一个启动入口,只负责替你启动文件

4.静态服务目前未接触,后续遇到需要更新

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值