一般来说os._exit() 用于在线程中退出
sys.exit() 用于在主线程中退出。
=========================================
os._exit(n): 直接退出, 不抛异常, 不执行相关清理工作。常用在子进程的退出。
sys.exit(n) :退出程序引发SystemExit异常,可以捕获异常执行些清理工作。n默认值为0,表示正常退出,其他都是非正常退出。还可以sys.exit(“sorry, goodbye!”); 一般主程序中使用此退出
exit()/quit()跟sys.exit(n)没什么区别,也抛出SystemExit异常。一般只在shell命令行页面退出python。
============================================
python中exit(0) 和exit()1有什么功能?
exit(1) 表示发生了错误进行退出,而 exit(0) 则表示程序是正常退出的,0后面的子进程代码不再执行
# -*- coding: utf-8 -*-
import os
import re
cmd = "python /root/b/py.py" #需要执行命令或程序 py.py=print("我是怎么打印出来的")
tmp = os.popen(cmd).read() #运行的结果,此处只能read 命令print的结果
print(tmp) #这里就会从打印“py.py”输出的结果
# 输出执行结果
regex = re.compile('summary = .*?\(0.00%\)', re.S)
result = re.findall(regex, tmp)
if len(result) > 0:
print("successed")
exit(0)
else:
print("failed")
exit(1)