我如何退出一个脚本早,像die()命令在PHP?
当前回答
提前终止Python脚本的一个简单方法是使用内置的quit()函数。不需要导入任何库,而且高效简单。
例子:
#do stuff
if this == that:
quit()
其他回答
只要把quit()放在代码的末尾,就可以关闭一个python脚本。
另一种方法是:
raise SystemExit
from sys import exit
exit()
作为参数,您可以传递一个退出码,该退出码将返回给操作系统。默认值为0。
问题
在我的实践中,甚至有一种情况需要从其中一个进程中杀死整个多处理器应用程序。
如果您的应用程序使用唯一的主进程,那么以下函数可以很好地工作。但是在我的例子中,下列函数没有一个不能工作,因为应用程序还有许多其他活动进程。
辞职() 退出(0) os._exit (0) sys.exit (0) Os.kill (os.getppid(), 9) -其中os.getppid()是父进程的pid
最后一个进程杀死了主进程和它自己,但其余进程仍然存活。
解决方案
我不得不通过外部命令杀死它,最后使用pkill找到解决方案。
import os
# This can be called even in process worker and will kill
# whole application included correlated processes as well
os.system(f"pkill -f {os.path.basename(__file__)}")
提前终止Python脚本的一个简单方法是使用内置的quit()函数。不需要导入任何库,而且高效简单。
例子:
#do stuff
if this == that:
quit()
推荐文章
- 证书验证失败:无法获得本地颁发者证书
- 当使用pip3安装包时,“Python中的ssl模块不可用”
- 无法切换Python与pyenv
- Python if not == vs if !=
- 如何从scikit-learn决策树中提取决策规则?
- 为什么在Mac OS X v10.9 (Mavericks)的终端中apt-get功能不起作用?
- 将旋转的xtick标签与各自的xtick对齐
- 为什么元组可以包含可变项?
- 如何合并字典的字典?
- 如何创建类属性?
- 不区分大小写的“in”
- 在Python中获取迭代器中的元素个数
- 解析日期字符串并更改格式
- 使用try和。Python中的if
- 如何在Python中获得所有直接子目录