gpt4 book ai didi

python - 使用 sh Python 模块,避免在终止后台进程时记录异常日志

转载 作者:太空宇宙 更新时间:2023-11-04 05:04:09 24 4
gpt4 key购买 nike

以下 Python:

p=sh.sleep(100, _bg=True)

try:
p.kill()
except sh.SignalException_SIGKILL:
print('foo')

给我:

>>> Exception in thread background thread for pid 14892:
Traceback (most recent call last):

<blah blah blag, long stack trace elided>

sh.SignalException_SIGKILL:

RAN: /usr/bin/sleep 100

STDOUT:

STDERR:

如何避免后台线程记录我预期会发生的错误?

最佳答案

为了捕获此异常,使用 _bg_exec=False 执行您的进程并执行 p.wait()。

In [21]: p = sh.sleep(100, _bg=True, _bg_exc=False)
...: try:
...: p.kill()
...: p.wait()
...: except sh.SignalException_SIGKILL as err:
...: print("foo")
...:
foo

关于python - 使用 sh Python 模块,避免在终止后台进程时记录异常日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44936743/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com