首页 > 系统相关 >当systemd停止父python脚本时,子进程退出

当systemd停止父python脚本时,子进程退出

时间:2024-02-21 11:11:59浏览次数:34  
标签:脚本 systemd python KillMode chao kill none 进程

KillMode参数

contorl-group (默认) # 当前控制组里所有的子进程都会被杀掉

process : #只杀主进程

mixed: #主进程将收到SIGTERM(终止进程)信号,子进程将收到SIGKILL(无条件终止)信号

none:    # 没有进程会被杀掉,只是执行服务的stop命令

 

解决办法

将 KillMode 改成 process 或 none, 然后执行  systemctl daemon-reload.

[Unit]
Description= by chao

[Service]
User=chao
Group=chao
KillMode=none
ExecStart=sh /home/chao/server/bin/start.sh
ExecStop=sh /home/chao/server/bin/stop.sh
PrivateTmp=true
StandardError=journal+console

[Install]

 

下面是我的情况

我有个 python tornado 服务, 启动脚本是 server.py, 这个服务有个重启功能, 接受到重启请求后, 会起一个进程p1把自己kill 掉,然后再把自己启动;目前运行良好。

然后我注册了一个service,实现开机自启动; 但是发现重启功能不好用了,kill 掉之后没有启动自己。

经过不断加日志和测试,发现是systemctl 启动的进程,kill掉之后,子进程也会一起kill 掉;即 contorl-group (默认) # 当前控制组里所有的子进程都会被杀掉

所以我在service 文件里增加了 KillMode 参数,并设置为none。

 https://www.freedesktop.org/software/systemd/man/latest/systemd.kill.html#KillMode=

标签:脚本,systemd,python,KillMode,chao,kill,none,进程
From: https://www.cnblogs.com/fadedlemon/p/18024761/luxin

相关文章

  • 使用python进行自动化备份和部署
    1、代码文件deploy.pyimportosfromdatetimeimportdatetimeimportshutilimportsysimportwin32serviceutilimportwin32serviceimporttimeimporttkinterastk#fromtkinterimportfiledialogimportconfigparserimportloggingimportctypes#创建......
  • python更换国内镜像
    永久更改1.在python的命令提示符中运行以下语句,该条语句将pip的下载源永久更改为某个镜像站,这里以清华大学开源镜像站为例:pipconfigsetglobal.index-urlhttps://pypi.tuna.tsinghua.edu.cn/simple/2.windows环境下,在用户目录中创建一个文件夹,该文件夹的命名为pip;在该pip......
  • powerdesigner 生成mysql脚本,要求字段、表名有注释
    1.字段注释设置:在pdm视图中,Database-->EditCurrentDBMS。   找到MySql5.0-->Script-->Objects-->Column-->Add。a)原来的内容%20:COLUMN%[%National%?national]%DATATYPE%[%Unsigned%?unsigned][%ZeroFill%?zerofill][[.O:[characterset][charset]]%Ch......
  • Python数据结构与算法04——栈与队列
    栈的实现:classStack(object):def__init__(self):self.__list=[]defpush(self,item):self.__list.append(item)defpop(self):returnself.__list.pop()defpeek(self):ifself.__list:returnself._......
  • Python数据结构与算法05——查找与排序
    冒泡排序:defbible_sort(aimlist):n=len(aimlist)j=len(aimlist)whilej>0:foriinrange(n-1):ifaimlist[i]>aimlist[i+1]:aimlist[i],aimlist[i+1]=aimlist[i+1],aimlist[i]n-=1j-=1r......
  • linux(Ubuntu)安装python2.7和pip2
    由于数据处理需要的软件有些老代码,需要安装python2,原服务器上已有python3,本想着使用源码包进行编译安装,奈何make时总是报如下错误,搞半天也没解决 或者  继续往下makeinstall后程序也无法正常执行,于是索性使用apt方式进行安装,过程如下:首先查看当前版本Ubuntu可支持的pyt......
  • python 爬虫模板
    前言在我们写爬虫的时候,一般想要的数据都在详情页里面,一般代码进入详情页参数,需要首页里面寻找,所以爬这样的网站,需要定义一个模板我的模板如下: importrandomimporttimeimportrequestsfromauctionimportlogtoolfromauction.BaseCrawlerimportBaseCrawlercla......
  • python实战:使用json序列化
    一,官方文档:https://docs.python.org/zh-cn/3/library/json.html二,json与字典的相互转化1,字典转json字符串1234567importjson #字典转jsond=dict(name='Tom',age=2,score=88)json_d=json.dumps(d)print(type(json_d))print(json_d)......
  • shell脚本
    shell执行shell脚本的方式方式一:bashbashtest.sh 方式二:././test.sh 方式三:使用脚本完整路径/root/test.sh 方式四:使用source,以当前默认Shell解释器执行sourcetest.sh常用系统变量在命令行提示符直接执行env、set查看系统或环境变量。系统变量作用$......
  • python中的内置函数zip函数
    关于zip()函数,有几点要讲的。首先,官方文档中,它是这样描述的:Makeaniteratorthataggregateselementsfromeachoftheiterables.Returnsaniteratoroftuples,wherethei-thtuplecontainsthei-thelementfromeachoftheargumentsequencesoriterables.The......