首页 > 其他分享 >systemd oneshot服务配置例子

systemd oneshot服务配置例子

时间:2024-10-25 14:21:54浏览次数:5  
标签:test1 bin systemd test2 target oneshot sh nginx 例子

 

服务这样写:

[Unit]
Description=nginx - high performance web server
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target

[Service]
Type=oneshot                                        // 类型选 oneshot
RemainAfterExit=yes                                 // 退出之后保持active状态:active (exited) 没有的话,结束状态是:inactive (dead)
ExecStart=/usr/bin/bash /root/test1.sh
ExecStart=/usr/bin/bash /root/test2.sh              // test2.sh 在 test1.sh 结束后,并且允许成功的时候,才执行。

[Install]
WantedBy=multi-user.target

 

test1.sh 如果 exit(1), test2.sh 不会执行,并且服务状态是failed。

test1.sh 如果 exit(0-),test2.sh 继续执行,如果exit(1) 服务状态是failed, 否则是active。

 

如果在这个服务之后有依赖程序的话,RemainAfterExit=yes,配置很重要。否则不是active状态,后续的依赖程序不会执行。

例如,我的nginx程序,对这个服务强依赖,可以如下写:

[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
Requisite=test-init.service                  // 强依赖

[Service]
LimitNOFILE=2048000
Type=forking
PIDFile=/var/run/nginx.pid
ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID

[Install]
WantedBy=multi-user.target

 

标签:test1,bin,systemd,test2,target,oneshot,sh,nginx,例子
From: https://www.cnblogs.com/hugetong/p/18502450

相关文章

  • 一个蒙特卡洛树搜索的例子
    """MyMonteCarloTreeSearchDemo"""importargparseimportmathimportrandomfromcopyimportdeepcopyfromtyping_extensionsimportSelfdefparse_args()->argparse.Namespace:"""Parseargumen......
  • modsecurity:规则例子:匹配url
    一,拦截包含一个字符串的访问:1,例子:如下:11.89.39.11--[23/Oct/2024:04:47:22+0800]"GET/.git/configHTTP/1.1"404548"-""Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/70.0.3538.102Safari/537.36&qu......
  • vue3 深度响应式是否正常测试,以select options作为例子测试,select options后赋值是否
    <template><divclass='box'><templatev-for="(ditem,dindex)indata1":key="dindex"><el-selectv-model="ditem.value"clearablefilterable><el-optionv-for="ite......
  • 神经网络与机器学习的区别及例子?CNN是有监督学习吗?
    一、神经网络和机器学习在概念上有所区别,但也紧密相关。以下是它们的主要区别以及一些例子:区别:定义:机器学习:是人工智能的一个分支,使计算机系统能够利用数据来不断改进性能,无需明确编程。它侧重于开发算法,让计算机通过经验学习。神经网络:是一种受人脑结构启发的机器学习算......
  • Systemd:systemctl 命令
    systemctl是用于管理Unit的常用命令,他涉及的范围较广,可以分为以下几类:1.管理系统1.1重启系统$sudosystemctlreboot 1.2关闭系统$sudosystemctlpoweroff 1.3CPU停止工作$sudosystemctlhalt 1.4暂停系统$sudosystemctlsuspend1.5让系统进入冬......
  • AutoResetEvent双向信号(生产者和消费者)例子
    AutoResetEvent是一个非常有用的线程同步机制,尤其是在处理生产者和消费者问题的时候,尤其适用。本随笔记录下生产者和消费者一对一问题的两种写法并进行代码执行逻辑的分析,来加深对AutoResetEvent的理解。写法一:internalclassProgram{publicstaticAutoResetEvent_pro......
  • systemd实现seatunnel自动化启停
    在systemd中,您可以通过配置服务单元文件来设置服务在失败或退出后自动重启。这对于确保关键服务在意外退出时能够自动恢复运行非常有用。下面是实现systemd自动重启服务的步骤:通用操作1.创建或编辑服务单元文件假设服务单元文件位于/etc/systemd/system/my-service......
  • 一个使用Oracle GoldenGate实现数据复制的例子
    OracleGoldenGate是一种数据复制和实时数据集成软件,用于在不同数据库之间进行数据同步和复制。以下是一个使用OracleGoldenGate实现数据复制的例子:假设我们有两个Oracle数据库实例:源数据库(source)和目标数据库(target),我们希望将源数据库中的某个表的数据实时复制到目标数据库......
  • 一个连续动作空间的SAC的例子
    """MySACcontinuousdemo"""importargparseimportcopyimportgymimportnumpyasnpimporttorchimporttorch.nn.functionalasFfromtorchimportnnfromtorch.distributionsimportNormaldefparse_args()->argpar......
  • 给控件添加阴影效果SystemDropShadowChrome
    引入命名空间 xmlns:theme="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Aero2"给控件添加引用,这个性能比较好。例如给Combobox下拉框添加引用效果<--!其他代码--><Popupx:Name="PART_Popup"AllowsTransparency="true"Grid.Colum......