gpt4 book ai didi

python - 如何从 Shell 捕获错误并重新启动 Python

转载 作者:太空宇宙 更新时间:2023-11-04 11:59:48 29 4
gpt4 key购买 nike

我有一个大型 Python 程序在 Raspberry Pi 上运行,每隔一两周它就会重载并抛出内存不足错误。我想捕获这些错误并调用一个 shell 脚本“kill-and-relaunch.sh”(下面的代码),它将终止正在运行的 Python 进程并重新启动程序......所以它需要运行 shell 命令作为完全独立的过程。两个问题:(1)调用 shell 的最佳方法是什么,该 shell 将在杀死原始 Python 进程后幸存下来;以及 (2) 我应该将错误捕获代码放在已经在多个进程中运行的 Python 程序中的什么位置...我是否需要在每个进程中都进行错误捕获?

这是我要调用的 shell 命令:

kill $(ps aux | grep '[p]ython -u home_security.py' | awk '{print $2}')
cd ~/raspsecurity
source ~/.profile
workon py3cv34
nohup python -u home_security.py &

感谢您的任何建议。

最佳答案

也许 subprocess可能有帮助?

import subprocess

# do something

try:

# trap the anticipated error zone

except: # Best if you catch the specific error anticipated instead of catch-all.

# log the error if you wish
subprocess.run(my_ps_script)

关于python - 如何从 Shell 捕获错误并重新启动 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52970280/

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