python程序怎么给别人运行_如何使Python脚本作为服务运行?

小编典典

我使用此代码来守护我的应用程序。它允许您start/stop/restart使用以下命令来编写脚本。

python myscript.py start

python myscript.py stop

python myscript.py restart

除此之外,我还有一个init.d脚本来控制我的服务。这使您可以在操作系统启动时自动启动服务。

这是一个简单的示例,可以助您一臂之力。只需将代码移到一个类中,然后从run内部的函数中调用它即可MyDeamon。

import sys

import time

from daemon import Daemon

class YourCode(object):

def run(self):

while True:

time.sleep(1)

class MyDaemon(Daemon):

def run(self):

# Or simply merge your code with MyDaemon.

your_code = YourCode()

your_code.run()

if __name__ == "__main__":

daemon = MyDaemon('/tmp/daemon-example.pid')

if len(sys.argv) == 2:

if 'start' == sys.argv[1]:

daemon.start()

elif 'stop' == sys.argv[1]:

daemon.stop()

elif 'restart' == sys.argv[1]:

daemon.restart()

else:

print "Unknown command"

sys.exit(2)

sys.exit(0)

else:

print "usage: %s start|stop|restart" % sys.argv[0]

sys.exit(2)

暴发户

如果您正在运行使用Upstart的操作系统(例如CentOS

6)-您也可以使用Upstart来管理服务。如果您使用Upstart,则可以按原样保留脚本,只需在下面添加如下内容/etc/init/my-

service.conf

start on started sshd

stop on runlevel [!2345]

exec /usr/bin/python /opt/my_service.py

respawn

然后,您可以使用启动/停止/重新启动来管理服务。

例如

start my-service

stop my-service

restart my-service

这里提供了使用新贵的更详细的示例。

2020-06-02

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/335402.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

kata_小规模流处理kata。 第2部分:RxJava 1.x / 2.x

kata在第1部分:线程池中,我们设计并实现了相对简单的系统,用于实时处理事件。 确保您阅读了上一部分,因为它包含一些我们将重用的类。 以防万一这是要求: 一个系统每秒发送大约一千个事件。 每个Event至少具有两个属性…

Oracle数据库的Sequence(序列)

序列 Sequence( 掌握 ) 序列(Sequence)是一种用来生成唯一数字值的数据库对象。序列的值由Oracle程序按递增或递减顺序自动生成 , 通常用来自动生成表的主键值 , 是一种高效率获得唯一键 值的途径。

高斯背景建模 matlab,高斯背景建模整理 – 要饭的

OpenCV 中高斯背景建模相关论文BackgroundSubtractorMOG:Paper : An Improved Adaptive Background Mixture Model for Real-time Tracking with Shadow DetectionWebsite : http://personal.ee.surrey.ac.uk/Personal/R.Bowden/publications/avbs01/avbs01.pdf创新点 &#x…

apache ignite_使用Apache Storm和Apache Ignite进行复杂事件处理(CEP)

apache ignite在本文中, “使用Apache Ignite进行高性能内存计算”一书的作者将讨论使用Apache Strom和Apache Ignite进行复杂的事件处理。 本文的一部分摘自 书 。 术语“复杂事件处理”或CEP没有广泛或高度接受的定义。 Wikipedia的以下引用可以简要描述什么是复…

python 生成器_提高你的Python: 解释‘yield’和‘Generators(生成器)’

例子:有趣的素数 假设你的老板让你写一个函数,输入参数是一个int的list,返回一个可以迭代的包含素数 记住,迭代器(Iterable) 只是对象每次返回特定成员的一种能力。 你肯定认为"这很简单"&#x…

数据库的存储过程

存储过程 Procedure 过程( Procedure )是一种 PL/SQL 存储程序单元 , 主要用于在数据库中完成特定的操作或者任务 , 如果在程序中经常需要执行某个操作 , 可以基于这些操作建立一个过程 ,用于简化客户端的开发和维护 , 以及提高执行性能。 在实际项目开发中,因为业…

tpm php,TPM系列

近来一直在整理资料,刚好看到有比较详细的介绍,就发扬一下“拿来主义”吧:)顺便鄙视一下某安全网站转载我的博客很乱:(1、安装环境准备1.1内核Linux内核2.6.12版本及以上,提供了对tpm芯片的支持,下载地址&a…

zookeeper 日志查看_每天使用的注册中心zookeeper,流量暴涨怎么办?

通过本文能学习什么?初步了解zookeeper监控如何运用tcpdump Wireshark抓包分析Dubbo在zookeeper上节点设计如何查看zookeeper节点快照背景zookeeper作为dubbo的注册中心,承载着服务的基础信息(方法名,分组,版本等),服…

javaone_JavaOne 2016 Essentials:您不应该错过的7个事件和会话

javaone参加JavaOne吗? 确保您不会错过这些活动 又到了每年的这个时候。 旧金山一年一度的Java假期即将来临,全市各地举行了超过400场会议和活动。 随着所有这些丰富的内容和新体验同时发生,很容易就无法跟踪正在发生的事情。 在这篇文章中…

Oracle的package(包)

包 Package 包是一种比较特殊的 PL/SQL 程序 , 它并不是一个 PL/SQL 存储程序块 , 而是用于将相关的存储过程和函数组织起来 , 组成 PL/SQL 存储程序组。 包由两个独立部分组成:包头和包体。

python中可用于布尔测试的,如何在Python中使用布尔值?

Python中的布尔值是整数的子类。布尔构造函数-bool。bool类继承自int类。issubclass(bool,int) // will return Trueisinstance(True,bool) , isinstance(False,bool) //they both TrueTrue和False是单例对象。它们将在应用程序的整个生命周期内保持相同的内存地址。当您键入Tr…

python比较两张图片是否一样_opencv_判断两张图片是否相同

python金融风控评分卡模型和数据分析微专业课(博主亲自录制视频):http://dwz.date/b9vv本文为原创,转载请注明,作者 231469242qq.com OpenCV介绍 OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库&a…

kata_小规模流处理kata。 第1部分:线程池

kata我再次为我的公司在GeeCON 2016上举办了编程竞赛。 这次分配需要设计并根据以下要求选择实施系统: 一个系统每秒发送大约一千个事件。 每个Event至少具有两个属性: clientId –我们期望一个客户端每秒最多可以处理几个事件 UUID –全球唯一 消耗…

Oracle数据库的trigger(触发器)

触发器 Trigger PL/SQL 程序中的触发器的结构类似于函数和过程 , 与函数和过程不同 , 触发器是在事件发生时隐式地运行的。相当于Java语言中的事件监听器

hpux oracle9,oracle 9.2.0.8在HP-UX 11.31 下的安装步骤和注意事项

在hp_unix ia64位操作系统安装oracle 数据库步骤1. 操作系统安装好后打补丁和调参数:(1) 打上patch(PHKL_38038),安装oracle9i必须打此补丁(2) 配置好网卡IP,可用xmanager调用系统图形化界面(3) 按方案调整内核参数2. 数据库安装(1) 命令行创…

bat 存储过程返回值_为什么不推荐使用存储过程?

之所以有这个题目,我既不是故意吸引眼球,也不想在本文对存储过程进行教科书般论述。最近项目中遇到的存储过程问题,让我想起了去年在武汉出差时一位同事的发问:我觉得存储过程挺好用的,为什么你不建议用?当…

aws lambda使用_使用Lambda,Api Gateway和CloudFormation在AWS云上使用Java

aws lambda使用在上一篇文章中,我们实现了基于Java的aws lambda函数,并使用CloudFront进行了部署。 由于我们已经设置了lambda函数,因此我们将使用AWS API Gateway将其与http端点集成。 Amazon API Gateway是一项完全托管的服务,…

数据库的序列

序列的特性:产生连续的不同的数字值用来作为数据表的主键。 序列是数据库中的独立对象表可以用序列产生的值作为主键 , 也可以不用序列可以为一个或多个表产生主键 , 也可以不用 建议:一个序列为一个表产生主键序列这种对象在 Oracle、db2 等数据库中有 , 在 mysql、sql serve…

java mic波形识别_会议季Mic Drop:您不应该错过的13场Java演讲

java mic波形识别您的老板没有派您参加真正的会议吗? 我们为您准备了最好的讲座 九月份的一些重大事件闻名于世:秋季的第一天,甚至全国熏肉日。 这也是召开会议最忙的月份之一,一些大型Java事件涵盖了平台的新的重要更新。 在以…

oracle utl inaddr,oracle11g之ACL拙见

错误样例(使用UTL_HTTP发送http请求时,报出如下错误): 原因: 1、Oracle允许使用几个PL/SQL API(UTL_TCP, UTL_SMTP, UTL_MAIL, UTL_HTTP和 UTL_INADDR)访问外部网络服务,这些API都使用TCP协议。…