哈o

我试图让python脚本在(ubuntu)linux上作为服务(守护程序)运行。

在网络上,存在几种解决方案,例如:

行为规范的Unix守护进程很难正确执行,但是每个守护程序所需的步骤几乎相同。DaemonContext实例保存程序的行为和配置的进程环境。使用实例作为上下文管理器进入守护程序状态。

但是,由于我想将我的python脚本专门与ubuntu linux集成,我的解决方案是与init.d脚本结合使用

#!/bin/bash

WORK_DIR="/var/lib/foo"

DAEMON="/usr/bin/python"

ARGS="/opt/foo/linux_service.py"

PIDFILE="/var/run/foo.pid"

USER="foo"

case "$1" in

start)

echo "Starting server"

mkdir -p "$WORK_DIR"

/sbin/start-stop-daemon --start --pidfile $PIDFILE \

--user $USER --group $USER \

-b --make-pidfile \

--chuid $USER \

--exec $DAEMON $ARGS

;;

stop)

echo "Stopping server"

/sbin/start-stop-daemon --stop --pidfile $PIDFILE --verbose

;;

*)

echo "Usage: /etc/init.d/$USER {start|stop}"

exit 1

;;

esac

exit 0

并在python中:

import signal

import time

import multiprocessing

stop_event = multiprocessing.Event()

def stop(signum, frame):

stop_event.set()

signal.signal(signal.SIGTERM, stop)

if __name__ == '__main__':

while not stop_event.is_set():

time.sleep(3)

我现在的问题是这种方法是否正确。我是否需要处理其他信号?它将是“行为良好的Unix守护进程”吗?

python linux服务_Python脚本作为Linux服务/守护程序相关推荐

  1. python脚本在linux上运行的两种方式_python脚本当作Linux中的服务启动实现方法

    脚本服务化目的: python 在 文本处理中有着广泛的应用,为了满足文本数据的获取,会每天运行一些爬虫抓取数据.但是网上买的服务器会不定时进行维护,服务器会被重启.这样我们的爬虫服务就无法运行.这个 ...

  2. Linux之shell脚本实现java服务的一键启动、停止、重启及每个服务单独的重启

    shell脚本提供了一键启动.停止.重启及每个服务单独的重启的函数. 脚本实现了: 调用sh文件根据不同的入参调用不同的函数 创建文件夹 创建文件 自定义函数调用自定义函数(调用函数时传入参数) 调用 ...

  3. python在linux编程_python要在linux下编程吗

    不少Python新手经常问到学Python到底需不需要学习Linux? Python不是支持Windows和Linux操作系统吗?能在Windows下开发为什么还要学习Linux? 问这样的问题的朋友 ...

  4. linux下shell脚本论文,Linux下Shell脚本编程

    1. shell脚本是什么 它是一种脚本语言,并非编程语言. 可以使用一些逻辑判断.循环等语法. 可以自定义子函数,是系统命令的集合. shell脚本可以实现自动化运维,大大增加我们的工作效率. 2. ...

  5. python脚本打包成linux命令_Python脚本文件打包成可执行文件的方法

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  6. linux重启sh脚本,Linux 之shell脚本系列之服务启动/关闭/重启/状态

    一 问题 自己开发的程序,如何用shell 脚本实现 启动,关闭,重启,查看状态? 二 方案 myshell.sh #!/bin/sh SERVICE="fm_tuoguan_shell&q ...

  7. linux打开python文件夹_python 常用对linux系统文件及目录的操作

    目录 1.取得当前目录--os.getcwd() >>> import os >>> s=os.getcwd()#获得当前运行脚本所在目录 >>> ...

  8. python http代理_python HTTP代理中转服务

    不知道该取一个什么名字,所以叫HTTP代理中转服务,其实就是将客户端HTTP请求转发给代理IP,再把代理IP的响应返回给客户端,这个有什么用处呢? 很简单,像python的爬虫为了防爬会使用代理IP, ...

  9. python自动定期清理日志脚本支持Linux+windows

    1 直接上代码 # -*-coding:utf-8-*- #Linux定时执行方式: # 需要单独执行下面定时命令(每天凌晨一点执行) # 添加任务之前请检查 systemctl status cro ...

最新文章

  1. 洛谷 P1636 Einstein学画画
  2. MyBatis 通用Mapper 入门教程
  3. Vue2.x-05 iview的Select控件点击从后台加载数据
  4. Java第三大的数,Java通过排序找出数组第三大数字
  5. Docker框架的使用系列教程(四)容器的使用
  6. 当前完整路径_详解关键路径法,这可能是你找得到最详细的了
  7. PHP5.6的安装与配置(win7)
  8. (转)2-sat 专题
  9. oracle自定义函数获取省份,Oracle 自定义函数Function
  10. 手机通讯录备份代码实现二
  11. 使用Jenkins自动部署博客
  12. 三款JSON类库Jackson,Gson与JSON-lib的性能对比
  13. 理解委托是类型安全的
  14. python代码示例-Python numpy.cov()用法及代码示例
  15. BZOJ.5093.[Lydsy1711月赛]图的价值(NTT 斯特林数)
  16. 微信之微信支付(封装)--jsapi
  17. Spring 中常用注解原理剖析
  18. 边沿触发器(T触发器)
  19. 安全生产:端正工作态度
  20. Java中区分中英文

热门文章

  1. [图像处理] Python+OpenCV实现车牌区域识别及Sobel算子
  2. Python之深入解析Vulture如何一键找出项目中所有无效的代码
  3. LeetCode Algorithm 102. 二叉树的层序遍历
  4. 【机器视觉】 dev_error_var算子
  5. 【机器视觉】 default算子
  6. 【Qt】2D绘图之绘制图片
  7. 【Linux】一步一步学Linux——systemctl命令(147)
  8. 【C语言项目】贪吃蛇游戏(上)
  9. 怪物刷新时间计时_热血传奇;散人对这类怪物可谓是情有独钟
  10. mysql查询过程从客户端发送查询请求_MySQL查询过程和高级查询