python进程运行多少时间自动退出

作者&投稿:左丘英 (若有异议请与网页底部的电邮联系)
~

导读:今天首席CTO笔记来给各位分享关于python进程运行多少时间自动退出的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

Python程序运行后直接退出

returnbreak都可以终止函数的运行exit(0)#无错误退出exit(1)#有错误退出这两条语句一般都会加在程序的最后因为exit是迫使系统去终止程序的运行

Python中如何在一段时间后停止程序

用到threading的Timer,也类似单片机那样子,在中断程序中再重置定时器,设置中断,python实例代码如下:

importthreading

importtime

defchange_user():

?print('这是中断,切换账号')

?t=threading.Timer(3,change_user)

?t.start()

#每过3秒切换一次账号

t=threading.Timer(3,change_user)

t.start()

whileTrue:

?print('我在爬数据')

?time.sleep(1)

扩展资料

有时当一个条件成立的情况下,需要终止程序,可以使用sys.exit()退出程序。sys.exit()会引发一个异常:

1、如果这个异常没有被捕获,那么python编译器将会退出,后面的程序将不会执行。

2、如果这个异常被捕获(try...except...finally),捕获这个异常可以做一些额外的清理工作,后面的程序还会继续执行。

注:0为正常退出,其他数值(1-127)为不正常,可抛异常事件供捕获。另一种终止程序的方法os._exit()

一般情况下使用sys.exit()即可,一般在fork出来的子进程中使用os._exit()

采用sys.exit(0)正常终止程序,程序终止后shell运行不受影响。

采用os._exit(0)关闭整个shell,调用sys._exit(0)后整个shell都重启了(RESTARTShell)。

Python:进程(threading)

这里是自己写下关于Python跟进程相关的threading模块的一点笔记,跟有些跟Linux调用挺像的,有共通之处。

直接传入

继承Thread重写run方法

threading.Thread(group=None,target=None,name=None,args=(),kwargs={},*,daemon=None)

group线程组,未实现

start()线程就绪

join([timeout])阻塞其他线程,直到调用这方法的进程结束或时间到达

RuntimeError:cannotjointhreadbeforeitisstarted

get/setName(name)获取/设置线程名。

isAlive()返回线程是否在运行。

is/setDaemon(bool):获取/设置是后台线程(默认前台线程(False))。(在start之前设置)

TheentirePythonprogramexitswhennoalivenon-daemonthreadsareleft.

没有非后台进程运行,Python就退出。

主线程执行完毕后,后台线程不管是成功与否,主线程均停止

t.start()

t.join()

start()后join()会顺序执行,失去线程意义

Lock属于全局,Rlock属于线程(R的意思是可重入,线程用Lock的话会死锁,来看例子)

acquire(blocking=True,timeout=-1)申请锁,返回申请的结果

release()释放锁,没返回结果

可以在构造时传入rlocklock实例,不然自己生成一个。

acquire([timeout])/release():与lockrlock相同

wait([timeout]):调用这个方法将使线程进入等待池,并释放锁。调用方法前线程必须已获得锁定,否则将抛出异常。

notify():调用这个方法将从等待池挑选一个线程并通知,收到通知的线程将自动调用acquire()尝试获得锁定(进入锁定池);其他线程仍然在等待池中。调用这个方法不会释放锁定。调用方法前线程必须已获得锁定,否则将抛出异常。

notifyAll():调用这个方法将通知等待池中所有的线程,这些线程都将进入锁定池尝试获得锁定。调用这个方法不会释放锁定。使用前线程必须已获得锁定,否则将抛出异常。

threading.Semaphore(value=1)

acquire(blocking=True,timeout=None)

资源数大于0,减一并返回,等于0时等待,blocking为False不阻塞进程

返回值是申请结果

release()

资源数加1

事件内置了一个初始为False的标志

is_set()返回内置标志的状态

set()设为True

clear()设为False

wait(timeout=None)阻塞线程并等待,为真时返回。返回值只会在等待超时时为False,其他情况为True

threading.Timer(interval,function,args=None,kwargs=None)

第一个参数是时间间隔,单位是秒,整数或者浮点数,负数不会报错直接执行不等待

可以用cancel()取消

threading.Barrier(parties,action=None,timeout=None)

调用的进程数目达到第一个设置的参数就唤醒全部进程

wait(timeout=None)

reset()重置,等待中的进程收到BrokenBarrierError错误

pythony中子进程如果一定时间不结束就停止应该如何做?

你要用thread模块的话,要main里面sleep一段时间,如果子线程没结束,直接走main下面的代码,子线程会自动被杀掉的。当然,这也是Thread模块的缺点,不管子进程是否结束,一旦继续走主线程,子线程统统杀掉。

如果你用threading模块的话,只要不给子线程设定为守护进程也会在执行main后杀掉子线程。

你这问题有点怪,别人都是要求怎样在执行main线程的时候子线程也不被杀。。。。。。

给个例子吧:

importthread

fromtimeimportsleep,ctime

defloop0():

print'startloop0at:',ctime()

sleep(4)

print'loop0doneat:',ctime()

defloop1():

print'startloop1at:',ctime()

sleep(2)

print'loop1doneat:',ctime()

defmain():

print'startingat:',ctime()

thread.start_new_thread(loop0,())

thread.start_new_thread(loop1,())

sleep(6)

print'allDONEat:',ctime()

if__name__=='__main__':

main()

这是python核心编程里面的例子,主线程会等待6秒,6秒之后,就继续走main程序(也就是主线程)下的print"allDoneat:",ctime()了,子线程不管结没结束都杀掉。

结语:以上就是首席CTO笔记为大家介绍的关于python进程运行多少时间自动退出的全部内容了,希望对大家有所帮助,如果你还想了解更多这方面的信息,记得收藏关注本站。




一文带你读懂Python中的进程
进程进程(Process)是计算机中的程序关于某数据集合上的一次运行,即正在运行的程序,是系统进行资源分配和调度的基本单位,进程是对正在... 进程进程(Process)是计算机中的程序关于某数据集合上的一次运行,即正在运行的程序,是系统进行资源分配和调度的基本单位,进程是对正在 展开  我来答 1个回答 #话题# 居家防疫...

python进程运行多少时间自动退出
导读:今天首席CTO笔记来给各位分享关于python进程运行多少时间自动退出的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!Python程序运行后直接退出returnbreak都可以终止函数的运行exit(0)#无错误退出exit(1)#有错误退出这两条语句一般都会加在程序的最后因为exit是迫使系统去终止程...

深入理解Python多进程的原理
执行python -c "print(1)"时,创建了一个Python进程。Python代码创建和销毁对象的过程:父进程创建对象,子进程共享对象,但对象的生命周期由父进程控制。手动启用fork模式多进程 使用os模块的fork函数启动多进程。父进程创建子进程后销毁对象,而子进程直接使用对象。手动启用spawn模式多进程 spawn模式下,...

python实现多进程+进度条显示
Python实现多进程+进度条显示的方法:在Python中,我们可以使用`multiprocessing`模块实现多进程处理,同时使用`tqdm`库来显示进度条。以下是一个简单的示例:详细解释:1. 多进程处理:Python的`multiprocessing`模块允许我们利用多个CPU核心来并行处理任务。这对于需要长时间运行或计算密集型的任务特别有用,因...

Python中进程multiprocessing用法详解
如果池满,请求就会告知先等待,直到池中有进程结束,才会创建新的进程来执行这些请求\\下面介绍一下multiprocessing模块下的Pool类下的几个方法: 1.apply() 函数原型:apply(func[,args=()[,kwds={}]]) 该函数用于传递不定参数,同python中的apply函数一致,主进程会被阻塞直到函数执行结束(不建议使用,并且3.x以后...

python最多开多少进程(python多进程)
一般有几个CPU核心,就开多少进程,或者核心数的N倍.python进程池最大数量 初始化Pool时,可以指定一个最大进程数,当有新的请求提交到Pool中时,如果池还没有满,那么就会创建一个新的进程用来执行该请求;但如果池中的进程数已经达到指定的最大值,那么该请求就会等待,直到池中有进程结束,才会用之前的进程来执行新...

python多进程为什么一定要
Python多进程确实有其必要性。Python作为一门广泛应用于各种领域的编程语言,其多进程的使用有其独特的优势。关于Python多进程的必要性,可以从以下几个方面来解释:一、提高计算性能 Python多进程可以充分利用多核处理器或多台计算机的计算资源,提高程序的运行效率。当程序面临计算密集型任务时,使用多进程...

python判断当前进程是主进程还是子进程
python判断当前进程是主进程。当我们运行python文件时,该程序的运行就是一个进程。在该进程中又创建了其他进程,那么该进程就是主进程,创建的其他进程就是子进程。

Python中进程与线程的区别是什么
一个线程可以控制和操作同级线程里的其他线程,但是进程只能操作子进程。5,交互 同一个进程里的线程之间可以直接访问。两个进程想通信必须通过一个中间代理来实现。相关推荐:《Python视频教程》Num04–>几个常见的概念 1,什么的并发和并行?并发:微观上CPU轮流执行,宏观上用户看到同时执行。因为cpu切换...

Python进程之串行与并行
1. 任务执行方式 串行是指任务按顺序执行,完成一个任务后才能进行下一个。这种方式在早期单核CPU时代较为普遍。并行则是指多个任务可以同时执行,这需要多核CPU的支持。2. 同步与异步 同步是指任务的完成依赖于其他任务,需要等待依赖的任务完成后才能继续执行。同步任务的状态保持一致,成功或失败都会...

湖北省17011439417: python程序怎么使用定时器终止程序 -
俎叔香菇: #python 2.7 import time #导入 time类 start=time.clock() def func(a,b):while True:end=time.clock ()if int(end-start)==10:print('Warning: Timeout!!'*5)breaka=a+b print a func(1,2) 主要思路:开始时间-当前时间=10则停止运行并输出时间到了(注意缩进)

湖北省17011439417: python raw - input控制等待时间 -
俎叔香菇: python raw_input控制等待时间 #coding: utf-8 import threading import os import time def exit():time.sleep(3) print#退出 os.abort() def main():#创建一个线程 t = threading.Thread(target=exit)#设置为守护线程 t.setDaemon(True)#开始线程 t.start()...

湖北省17011439417: 怎样手动停止python程序运行 -
俎叔香菇: 如果你是在程序中让其自动退出,则可以使用:exit()执行到此命令时,程序终止.如果是程序陷入死循环,想强制结束,则按Ctrl + C.

湖北省17011439417: Python程序运行完后不自动退出,为什么 -
俎叔香菇: 提问者的问题解决如下: thisIsLove=input() if thisIsLove:print "True" input ("Please Enter:")这种方法是用Input作为控制的;不是很灵活,也没有加控制语句,和容易出错;建议对输入的东西进行判断,技术问题可到itjob技术群交流:

湖北省17011439417: python里怎么终止程序的执行 -
俎叔香菇: 终止程序:1、所有函数都结束,自动终止程序;2、sys.exit(0),手动退出程序

湖北省17011439417: Python程序运行后直接退出 -
俎叔香菇: returnbreak都可以终止函数的运行exit(0)#无错误退出exit(1)#有错误退出这两条语句一般都会加在程序的最后因为exit是迫使系统去终止程序的运行

湖北省17011439417: python TKinter的主窗口运行程序完毕后,怎么让其自动关闭 -
俎叔香菇: 好象调用一次主窗口的close似乎就可以.或者是app的close, 或者是destroy或者是terminate,不记得是哪个函数了.当然你杀掉自己也是可以的. 用kill. 或者是sys.exit也应该可以.

湖北省17011439417: 分析python程序运行时间的几种方法 -
俎叔香菇: 你在windows下根本不用这么麻烦: 首先,比如你的程序名字是 test.py 如果你想调用某个具体函数,就自己写一个的文件,比如 import spider spider.go() 然后,用系统at命令指定几点几分或者每个星期几或者每个月的第几个星期几等执行某...

湖北省17011439417: 如何查看python脚本自动退出原因 -
俎叔香菇: 怎么样的自动退出...如果是直接双击.py文件的话,本来就是会在python for DOS里面运行完自动退出的,只要在代码结尾加一句raw_input()就好了

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网