如何优雅地退出python程序

发布网友 发布时间:2022-04-22 18:13

我来回答

5个回答

懂视网 时间:2022-05-10 09:22

对于如何结束一个Python程序或者用Python操作去结束一个进程等,Python本身给出了好几种方法,而这些方式也存在着一些区别,对相关的几种方法看了并实践了下,同时也记录下。

参考方法:

1、sys.exit()

执行该语句会直接退出程序,这也是经常使用的方法,也不需要考虑平台等因素的影响,一般是退出Python程序的首选方法。该方法中包含一个参数status,默认为0,表示正常退出,也可以为1,表示异常退出。

39db5edfa94310f8fb387ffc2e1a942.png

该方法引发的是一个SystemExit异常(这是唯一一个不会被认为是错误的异常),当没有设置捕获这个异常将会直接退出程序执行,当然也可以捕获这个异常进行一些其他操作。

2. os._exit()

效果也是直接退出,不会抛出异常,但是其使用会受到平台的,但我们常用的Win32平台和基于UNIX的平台不会有所影响。

3. os.kill()

一般用于直接Kill掉进程,但是只能在UNIX平台上有效。

基本原理:该函数是模拟传统的UNIX函数发信号给进程,其中包含两个参数:一个是进程名,即所要接收信号的进程;一个是所要进行的操作。

操作(第二个参数)的常用取值为:

SIGINT 终止进程 中断进程

SIGTERM 终止进程 软件终止信号

SIGKILL 终止进程 杀死进程

SIGALRM 闹钟信号

例:在linux平台上打开VLC视频播放器,然后查看运行的进程:进程号是 4497

2017129160800147.jpg

然后执行os.kill操作:

2017129160842258.jpg

执行完之后可以发现VLC视频播放器已经关闭,同时该进程也已经被Kill了。

热心网友 时间:2022-05-10 06:30

如果你是在程序中让其自动退出,则可以使用: 1 exit() 执行到此命令时,程序终止。 如果是程序陷入死循环,想强制结束,则按Ctrl + C。

热心网友 时间:2022-05-10 07:48

温柔的拔掉电源

热心网友 时间:2022-05-10 09:23

exit()
恐怕还有更优雅的方法

热心网友 时间:2022-05-10 11:14

import sys
sys.exit()

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com