python学习笔记——多进程二 进程的退出

1 进程的退出函数的基础语法

1.1 进程的退出函数

进程的退出含有有os._exit([status])sys.exit([status])两种,从数据包来看,该退出模块仅在linux或者unix系统下可用,windows系统下没有该模块

功能:退出一个进程

参数:表示进程的退出状态,0表示进程正常退出,非0表示异常退出。

区别:

(1)

os._exit() 直接将python程序终止,退出python解释器,其后代码都不会执行

sys.exit() 抛出SystemExit异常,如果该异常没有被捕获,则python解释器将会退出,捕获这个异常可以做一些额外的清理工作,0为正常退出,其他数值(1~127)表示非正常退出,可抛出异常供捕获。

(2)

os._exit() 参数为返回代码

sys.exit() 参数可传入字符串,在退出时打印一下字符串

(3)

一般情况下使用sys.exit()即可,而fork语句生成的的子进程中使用os._exit()

一般情况下sys.exit()用于主线程退出,os._exit()用于在线程中退出

 

1.2 退出函数的基础示例

示例1

import sys

try:
    sys.exit(0)
except:
    print('die')
finally:
    print('cleanup')

运行结果

die
cleanup

示例2

import os

try:
    os._exit(0)
except:
    print('die')
print('os.exit')

运行后终端没有显示输出

import os, sys

try:
    os._exit('0')
except:
    print('die')
print('os.exit')

运行结果

die
os.exit

实际上,只要是 os._exit(0) 中的参数值不为int型0,运行结果都是 die \ os.exit  

2 退出函数的基本应用

os._exit()函数

import os

a = 0

while a < 10:
    print("a=", a)
    a += 1
    if a == 5:
        os._exit(0)  # 只能是数值,不可以传入字符串 如果传入字符串,则会报错(TypeError: an integer is required (got type str))
print("运行结束")

运行结果

a= 0
a= 1
a= 2
a= 3
a= 4

sys.exit()函数

import sys

a = 0

while a < 10:
    print("a=",a)
    a += 1
    try:
        if a == 5:
            sys.exit("exit the process")#该函数可以传入字符串
    except SystemExit as e:
        print(e)

print("运行结束")

运行结果

a= 0
a= 1
a= 2
a= 3
a= 4
exit the process
a= 5
a= 6
a= 7
a= 8
a= 9
运行结束

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值