您如何真正退出 python 脚本?
How do you actually quit a python script?
None 其中 kill -9
或任何接近的东西。答案是什么?
import sys
import os
try:
exit()
sys.exit()
os._exit()
quit()
except:
print("THIS SHOULD NOT RUN")
Python 语言如果对 abort()
或任何类似的东西进行任何 try-catch 包装以防止它死亡,那就太荒谬了。
这不是我所知道的任何其他语言中存在的东西。 abort()
是一项紧急安全措施。
在脚本中尝试 CTRL+C,应该可以解决问题
继续@Mike Scotty 已经解释的内容:
选择一个:(sys.exit()
)
sys.exit()
引发异常,即 SystemExit
。这就是您进入 except-block
.
的原因
例子:
import sys
try:
sys.exit()
except:
print(sys.exc_info()[0])
输出:
<class 'SystemExit'>
深度:
import sys
try:
sys.exit() # this always raises SystemExit
except SystemExit:
print("sys.exit() worked as expected")
except:
print("Something went horribly wrong") # some other exception got raised
输出:
sys.exit() worked as expected
Source
好吧,我不喜欢 Python 处理这个问题的方式,但我找到了一个解决方案,它实际上是 kill -9
:
免责声明:很遗憾,您必须以 root 身份启动并运行该进程。
os.system("sudo kill -9 " + str(os.getpid()))
None 其中 kill -9
或任何接近的东西。答案是什么?
import sys
import os
try:
exit()
sys.exit()
os._exit()
quit()
except:
print("THIS SHOULD NOT RUN")
Python 语言如果对 abort()
或任何类似的东西进行任何 try-catch 包装以防止它死亡,那就太荒谬了。
这不是我所知道的任何其他语言中存在的东西。 abort()
是一项紧急安全措施。
在脚本中尝试 CTRL+C,应该可以解决问题
继续@Mike Scotty 已经解释的内容:
选择一个:(sys.exit()
)
sys.exit()
引发异常,即 SystemExit
。这就是您进入 except-block
.
例子:
import sys
try:
sys.exit()
except:
print(sys.exc_info()[0])
输出:
<class 'SystemExit'>
深度:
import sys
try:
sys.exit() # this always raises SystemExit
except SystemExit:
print("sys.exit() worked as expected")
except:
print("Something went horribly wrong") # some other exception got raised
输出:
sys.exit() worked as expected
Source
好吧,我不喜欢 Python 处理这个问题的方式,但我找到了一个解决方案,它实际上是 kill -9
:
免责声明:很遗憾,您必须以 root 身份启动并运行该进程。
os.system("sudo kill -9 " + str(os.getpid()))