超级卵杰的自动脚本(5)Thread多线程关闭,以及程序重启。

要想程序能长久运行,关闭程序和自启程序很重要。遇到临时断网,断电(笔记本可以抗一会),不会报错,等状态正常后,程序还能接着运行

python多线程关闭很麻烦。所以快刀斩乱麻,直接杀死线程,终止程序。

这里调用os,找到程序线程,并在cmd中杀死线程。

import os
driver.quit()#退出浏览器
cmd = 'taskkill /pid ' + str(os.getpid()) + ' -f'#杀死线程
os.system(cmd)

一般来说,断网对浏览器页面影响不大,但socket在一段时间未收到数据会自动断开。而且在子线程内重连也比较麻烦。这时就需要关闭程序,杀死线程。还有就是重启后依然没网,浏览器打不开网页,依旧需要重启。

            try:#尝试接受数据
                recv_data = sk_client.recv(4096)
                buffer += recv_data
                if recv_data.endswith(b'\x00'):
                    break
            except:#socket断开,关闭浏览器,关闭线程。
                print('重连')
                driver.quit()
                cmd = 'taskkill /pid ' + str(os.getpid()) + ' -f'
                print(cmd)
                os.system(cmd)

关于重启我的办法更简单,新建一个程序,在程序里不断打开脚本。

import os
import time
while 1:
    os.system(r'"cd /d E:\python\untitled && python xiaojie改进.py"')
#如果没关闭线程,程序会一直停在这。关闭后会延时10秒重新打开。
    print('again')
    time.sleep(10)

启动就直接从这个脚本启动。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值