Код: Выделить всё
import signal
import sys
import time
try:
while True:
print('Running...')
time.sleep(10)
except KeyboardInterrupt:
print('Ctrl-C pressed!')
sys.exit(0)
Код: Выделить всё
while true; do
./python_script.py
done
Я спросил у AI, и он предложил сначала указать конкретный код ошибки для вызова sys.exit, который не сработал, а затем использовать вызов raise, который остановил сценарий таким образом, что это привело к завершению Bash цикл, но также по-прежнему дает трассировку стека Python.
Когда ИИ попросили найти лучшее решение, все, что ИИ смог придумать, это добавить ОС импорта, а затем использовать очень не-Pythonic вид:
Код: Выделить всё
signal.signal(signal.SIGINT, signal.SIG_DFL)
os.kill(os.getpid(), signal.SIGINT)
Подробнее здесь: https://stackoverflow.com/questions/798 ... n-on-linux
Мобильная версия