与其他程序同样判断。
Windows:
python.exe app.pyif %errorlevel% 渣早== 0 (echo success) else (echo failed)
Linux(在命令中运行):
if python app.py then echo success else echo failed fiLinux(上一个命令运行):
python app.pyif [[ "$?" == 衫桥"0" ]] then echo success else echo failed fi
Python(Popen子进程方式运行):
import sysfrom subprocess import Popen
args = sys.executable, 'app.py'
p = Popen(args)
p.wait()
if p.poll() == 0:
print('success')
else:
print('failed')
Python(exec方式)
# 由于python3没有execfile函数,这里采用exec的方式import sys
with open('app.py', 'rb') as f:
code = f.read().decode()
try:
if sys.version_info.major == 2:
或梁猛 exec code
else:
exec(code)
except:
print('failed')
else:
print('success')
如果被监测程序是你自己编羡大此写的,那你可以在程序进程结束的时候主动去通知监测进程。如果不是仿李,而你要监兄迅测它的运行情况,那么这和 *** 作系统有关。Windows和Linux下的处理方式是不一样的。
0和1是退出代码。exit(0)表示干净的出口没有任何错误/问题
exit(1)意味着有一些问题/错误/问题,这就是为什么该程序正在退出。
这不是Python特定的,而且很常见。 一个非零退出代码被视为一个exception退出,有时,错误代码指出了问题所在。 零错误代码表示成功退出。
这对于其他程序,shell,调用者等来说很有用,知道你的程序发生了什么,并据此进行 *** 作。
这决定了程序在结束运行时的退出状态 (一般为0,成功为1,春段错误为1)。
这不是Python独有的,确切的效果取决于你的 *** 作系统和程序的调用方式(尽pipe99%的时间,如果你只是运行Python脚本,没关系)。
包括Python在内的所有C程序的标准约定用于exit(0)表示成功, exit(1)或任何其他非零值(范围在1到255之间)表示失败。 任何超出范围0..255的值都将被视为模256(退出状态存储在一个8位值中)。 有时,这将被视为签名(所以你可能会看到-128,-127等),但更通常它被视为无符号。
这个状态对于调用Python的代码是可用的。 这个惯例适用于不同平台,尽pipe非零退出状态的含义可以在不同的平台上有所不同。
传递给exit()函数的数字就是您的程序的返回代码,它被提供给 *** 作系统。 从程序的angular度来看,没有什么区别:执行将在两种情况下结束,并且提供给函数的值将被赋予给 *** 作系统。 但是一些工具和脚本考虑了程序的退出代码。 大多数工具在成功时返回0,非零表示出错。
所以,如果你的程序是从一个脚本,一个自动化的工具或者其他考虑了返回代码的软件(键巧比如IDE)运行的,那么你必须小心你返回的结果扒亮誉。
如果有疑问,只需返回0表示一切正常。
exit(0) :这会导致程序退出并成功终止。
exit(1) :这会导致程序以系统特定的含义退出。
在许多系统上, exit(1)表示某种失败,但是没有保证。
我记得,C标准只承认三个标准退出值:
EXIT_SUCCESS – 成功终止
EXIT_FAILURE – 终止不成功
0 – 与EXIT_SUCCESS相同
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)