python打包windows服务 开机自启动守护进程

news2024/11/28 7:30:36

自启动方法一:系统自启动

设置python程序开机自启动

1、创建一个xxx.bat文件,右键编辑

2、在xxx.bat文件里面写入以下内容后保存:(可以按照如下流程自己去cmd中测试一下)

d: #如果需要开机自启动的python程序在c盘,不需要这一行程序;如果需要自启动的python程序在d盘(或其他盘),需要先切换到d盘(或其他盘)

cd path #path为你所要开机自启动的python程序所在的文件夹

start xxx.py #xxx.py为path文件夹内需要自启动的python程序

3、将xxx.bat文件复制到windows的自启动文件夹内,即可开机自启动python程序

windows自启动文件夹:

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

自启动方法二:注册服务

服务的优势就在于可以开机自启动

而在windows上,python不能直接将脚本注册为服务,需要将其先打包成exe,再将exe注册为服务

打包exe

使用pyinstaller打包,安装好pyinstaller包后,在cmd/pycharm的终端里运行如下代码打包:

pyinstaller -F CRR.py --noconsole

1

-F 表示不带依赖exe,大工程可能会启动较慢;改成 -D则表示带依赖;小工程直接-F即可

CRR.py是我的脚本文件名称,这里换成自己的

–noconsole 表示不带黑框

网上教程一大把,不做赘述

注册服务

下载nssm工具

下载地址:https://share.weiyun.com/Q9LkP9P6

注册服务

来到nssm所在目录,在文件路径处输入cmd,可打开命令窗口

在命令窗口输入 nssm install CRR后,会弹出nssm的软件界面

这里的CRR,是我注册后的服务的名称,这里随意,但不可出现中文,最好不要有空格、特殊符号

注册完成

如果状态这里并不是启动状态,可以右键启动

如果注册之前就开着服务窗口,注册后可能看不到,右键刷新一下即可

启动类型为自动,即可开机自启动

守护进程

有时会遇到断网、硬件设备掉线等情况,需要重新启动服务,觉得较为麻烦。想仿照linux下的脚本,写一个windows下的脚本,守护进程,自动检查自启动。

windows下的脚本为.bat文件,下面以启动***.exe文件为例,protect_process.bat。###为注释,使用代码时需要删除。

@echo off
:start
choice /t 5 /d y /n >nul     ###定时5s
tasklist|find /i "server1.exe"    ###寻找有无server1.exe进程
if %errorlevel%==0 (    ###如果存在该进程
echo "yes"
) else (    ###如果不存在,则自行启动server1.exe
echo "No"
start server1.exe
)
goto start

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

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

相关文章

Typora插图免费上传云端教程(太香了)

1、前言 我们平时在使用Typora时,文档中的图片一般是保存在本地,很方便,但是有些场景也有问题,比如我全部拷贝到有道云笔记中或者全部拷贝到CSDN中去发布时,你会发现,所有图片都无法预览了,此时…

不要为了“分库分表”而“分库分表”

数据库瓶颈 分库分表 分库分表工具 分库分表带来的问题 什么时候考虑分库分表 数据库瓶颈 不管是IO瓶颈还是CPU瓶颈,最终都会导致数据库的活跃连接数增加,进而逼近甚至达到数据库可承载的活跃连接数的阈值。在业务service来看, 就是可用…

解析HTTP请求报文(GET、POST)

目的: 一个WEB服务器需要解析客户端(浏览器)发来的请求,两种常见的请求方式是GET和POST。 GET的请求格式: GET请求没有请求体只有请求头GET请求的请求参数放在URL后加上一个"?"的后面,参数以…

时序图文献精度——1.2018-KDD-Embedding Temporal Network via Neighborhood Formation

Embedding Temporal Network via Neighborhood Formation Abstract 作者发现,在现有的研究中,以节点间顺序交互事件为特征的网络的完整时间形成过程还很少被建模,在这边文章中,作者引入邻域形成序列的概念来描述节点的演化&…

第四篇 - 对象的深层劫持

一,前言 上篇,主要介绍了在 Vue 的数据初始化流程中,对象属性的单层劫持是如何实现的 回顾一下,主要涉及以下几个核心点: data 为函数和对象的处理,及当 data 为函数时的 this 指向问题Observer 类&…

一文弄清楚vue中的computed和methods

1.实现业务我们现在需要实现一个业务,就是我们有一个输入框,之后我们修改输入框的值,就在此时输入框的值会呈现到页面中的h1标签上去2.利用Vue中的插值语法实现业务2.1什么是插值语法?插值语法就是vue中用来存放预留值得方法&…

【前端】CSS盒子模型

五、盒子模型 1.1盒子模型的介绍 盒子的概念 页面中的每一个标签,都可看做是一个“盒子”,通过盒子的视角方便的进行布局浏览器在渲染(显示)网页时,会奖网页中的元素看作是一个个的矩形区域,我们也形象地…

<Python的函数(1)>——《Python》

目录 1. 函数 2. 语法格式 2.1 创建函数/定义函数 ​2.2 调用函数/使用函数 3. 函数参数 4. 函数返回值 5. 变量作用域 后记:●由于作者水平有限,文章难免存在谬误之处,敬请读者斧正,俚语成篇,恳望指教&…

Android input 事件分发 -- inputReader

inputReaderinputReaderinputReader 这个章节主要是围绕inputReader 、inputReaderThread进行的,老规矩先上时序图通过前面我们已经知道了InputReader和InputReaderThread都是在InputManager的构造函数里面new出来的,然后InputReaderThread的启动是在Sys…

图文详解:内存总是不够,我靠HBase说服了Leader为新项目保驾护航

最近在工作中用到了 Hbase 这个数据库,也顺便做了关于 Hbase 的知识记录来分享给大家。其实 Hbase的内容体系真的很多很多,这里介绍的是小羽认为在工作中会用到的一些技术点,希望可以帮助到大家。 可以这么说互联网都是建立在形形色色的数据…

剑指offer----C语言版----第十天

目录 1. 二进制中 1 的个数 1.1 题目描述 1.2 可能引起错误的解法 1.3 常规解法 1.4 思路优化 1. 二进制中 1 的个数 原题链接: 剑指 Offer 15. 二进制中1的个数 - 力扣(LeetCode)https://leetcode.cn/problems/er-jin-zhi-zhong-1de-ge-shu-lcof…

电路方案分析(十五)符合 EMC 标准的汽车制动灯和尾灯设计方案

符合 EMC 标准的汽车制动灯和尾灯设计方案 tips:TI设计方案参考分析:TI Designs:TIDA-01374 1.系统描述 1.1关键参数 2.系统概述 2.1系统框图 2.2关键元器件 3.设计原理 3.1双重亮度设计 3.2 电荷泵设计 3.4 LED故障设计 3.3 MOSFET驱动电…

LeetCode Hot 100 笔记

文章目录链表21. 合并两个有序链表栈20. 有效的括号Java栈链表 链表的题目一般都不太难,画图,别怕麻烦 21. 合并两个有序链表 解法一:迭代 用一个指针cur跟踪当前节点,每次从list1和list2中选取小的节点,链接起来建…

什么是轻量化,轻量化模型is all your need hhh

其实学了几个小月,我们肯定知道,MLP有多deeper ,卷积层有多少层呀 抑或是Transformer架构,大量的参数,只能用huge 来描述, 可实际上我们的设备,有时候并没有服务器那么厉害,所以人…

阿里云认证为什么那么多人考?考试内容难不难?

我国人口密集,每年有大量的毕业生涌进社会,除此之外还有很多进入社会很久的打工人,想要跳槽,到更加挣钱的岗位,待遇更好的公司去。为了能够早日买房、买车,很多人会选择社会热门行业去学习,甚至…

sqli-labs 第七关 多命通关攻略

sqli-labs 第七关 多命通关攻略描述字符串与数值之间的转换判断注入类型返回结果正常输入不正常输入错误输入总结判断注入类型判断是否为字符型注入判断是否为单引号字符型注入判断是否为双引号字符型注入判断是否为数值型注入总结判断注入类型(修正版)字…

二十六、Docker (2)

🌻🌻 目录一、Docker的常用命令 (阶段A)1.1 帮助命令1.2 镜像命令1.3 容器命令1.3.1 新建容器并启动1.3.2 列出所有运行的容器1.3.3 退出容器1.3.4 删除容器1.3.5 启动和停止容器的操作1.4 常用的其它命令1.4.1 后台启动容器1.4.2 查看日志1.4.3 查看容器…

如何搭建私域流量?

如今已经进入存量用户时代,越来越多的企业也明白了存量用户的重要性,因此企业都非常重视私域流量的搭建,以挖掘客户的价值。 前言 如今已经进入存量用户时代,越来越多的企业也明白了存量用户的重要性,因此企业都非常重…

安卓搭建好的模拟机,为调试准备

​ 这一节直接分享制作好的虚拟机,镜像系统,以及安卓源码,直接节省你的时间去配置,编译。 下来我来分享下搭建步骤: 1 虚拟机下载vm 12 pro ,这个网上百度就可以,原则13,14也都是可以的。 2 下…

移动魔百盒CM311-3-YST-晨星MSO9385-语音首页正常-TTL刷机包

移动魔百盒CM311-3-YST-晨星MSO9385-语音首页正常-TTL刷机包 固件特点: 1、三网通用; 2、开放原厂固件屏蔽的市场安装和u盘安装apk; 3、无开机广告,无系统更新,不在被强制升级; 4、大量精简内置的没用…