……

Python脚本后台运行

1 Linux/Mac

nohup命令:https://baike.baidu.com/item/nohup/5683841?fr=aladdin
ps命令:https://www.runoob.com/linux/linux-comm-ps.html
kill命令:https://www.runoob.com/linux/linux-comm-kill.html

在Linux系统下,若实现程序的后台运行和终止。通常使用nohup命令将脚本在后台运行,由kill命令将对应PID程序终止运行。nohup命令忽略所有的挂操作,即使在用户注销情况下也可以在后台运行。以xxx.py为例,后台运行命令如下:

nohup python -u xxx.py > nohup.log 2>&1 &1

其中,nohup.log为程序输出日志,命令末尾&代表后台运行,-u 是为了python中print能在日志(nohup.log)中输出。

终止后台的进程,需要先通过ps命令查询程序PID,之后通过kill命令将PID对应的程序终止,流程如下:
  1)通过linux中ps命令查找python运行进程的PID,命令如下

ps -ef | grep python 1

2)根据程序的PID,通过kill命令将程序终止,命令如下

kill -s 9 xxxxx 1

下述以test.py代码为例,在后台运行和终止。

import time
import datetime


while True:
    time.sleep(1)
    print(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'))
1234567

1) 样例脚本后台运行
在这里插入图片描述
  2) 样例脚本程序终止在这里插入图片描述

2 Windows

2.1 任务计划程序

在Windows中通过任务计划程序实现Python脚本后台运行,计算机-> 管理-> 系统工具-> 任务计划程序。操作步骤详见:https://jingyan.baidu.com/article/a681b0dee8dcae7b19434623.html

2.2 pyw格式

将Python脚本的py扩展名改为pyw后,在windows下双击运行(若需要选择应用打开,选择在Python同目录下,找到pythonw.exe)程序,此时将不会打开终端执行程序。终止程序在任务管理系统查询pythonw,如下所示:
在这里插入图片描述

posted on 2020-10-22 18:05  Exlo  阅读(1948)  评论(0编辑  收藏  举报

导航