1、将Python脚本加入WIN10系统开机启动项

(1)首先,需要新建一个.bat文件(用来运行脚本),格式如下,斜体加粗部分为python脚本的位置(写完之后保存),保存的文件名为start.bat(可以按自己的需求进行命名):

python D:\python\test.py
pause

(2)点击开始–所有程序–启动–右击–打开,将已经保存的.bat文件复制到该目录(C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp)下,可能杀毒软件会阻止,选择允许,然后重启电脑即可。

注:开机自启以后会打开一个cmd窗口,关闭窗口,python程序将停止运行。

2、将Python脚本后台运行

1中,启动后会打开一个cmd窗口,关闭窗口,python程序将停止运行,有时会存在不小心关闭掉CMD窗口的情形,所以下面我们讨论,将Python脚本加入开机自启动项,并在后台运行的方法.
为了让控制台窗口不会显示出来,我们需要在start.bat的开头部分加入一些代码,加完代码后,start.bat中的内容如下:

@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("""%~0"" h",0)(window.close)&&exit
:begin
set path=D:\test\Miniconda3;D:\test\Miniconda3\Scripts
python D:\python\test.py
pause

set path=D:\test\Miniconda3;D:\test\Miniconda3\Scripts是指定python路径,可以用你自己的python,与系统 隔离,方便移植和部署
右键start.bat,选择以管理员身份运行,这样,test.py就能够开机自启且不会出现控制台窗口了.

3、该怎么关闭test.py呢?

别急,可以这么做:如下图所示,打开任务管理器,找到"Python",将它"结束任务"即可。在这里插入图片描述
4、将Python脚本加入CentOS系统的开机启动项
以服务启动python程序,假设你需要开机启动的脚本为test.pu,其所在的绝对 路径为/root/python/test.py

创建yourServer.service文件,并放入/etc/systemd/system/目录下

touch yourServer.service

yourServer.service的内容如下

[Unit]
Description=imageclassification
After=multi-user.target

[Service]
StartLimitInterval=5
StartLimitBurst=10
ExecStart=/root/anaconda3/bin/python /root/python/test.py
WorkingDirectory=/root/python/
Restart=always
[Install]
WantedBy=multi-user.target 

需要注意的是,ExecStart后的python和程序所在路径必须是绝对路径,此处Python的路径也可以是你自己定义的Python路径,与系统 pYthon路径隔离,方便移植和部署

在test.py的同路径下创建yourServer_start.sh文件

touch yourServer_start.sh

yourServer_start.sh的内容如下

cp yourServer.service /etc/systemd/system   #将服务放在/etc/systemd/system目录下
chmod 644 /etc/systemd/system/yourServer.service    #配置权限 
systemctl daemon-reload    #重载服务列表
systemctl enable yourServer.service  #设置开机自启动
systemctl start yourServer.service   #启动服务

cd 到 /root/python/目录下,执行 bash yourServer_start.sh即可启动开机自启服务

cd /root/python
bash yourServer_start.sh

使用以下命令查看服务否正常开启

 systemctl start yourServer.service

使用以下命令查看服务否正常停止

 systemctl stop yourServer.service

根据实际需要,使用以下命令将服务设为开机自启动

systemctl enable yourServer.service

使用以下命令禁用服务设为开机自启动

systemctl disable yourServer.service

使用以下命令查看服务是否正常运行

systemctl  status  yourServer.service
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐