Python 3.14+sysфункция
sys.remote_exec()
отладка и трассировка
Просит другой процесс Python той же версии выполнить файл со скриптом при ближайшей возможности. Основа подключения отладчика к живому процессу (3.14).
Синтаксис
sys.remote_exec(pid, script)
Вызов возвращается сразу, а узнать, когда и выполнился ли скрипт, нечем: файл должен дожить до момента, когда целевой процесс его прочтёт. Версии обоих интерпретаторов обязаны совпадать до минорной (3.14 к 3.14), а у предрелизных — точно. Нужны права ОС на доступ к памяти чужого процесса, а цель может запретить подключение (см. is_remote_debug_enabled). Вызывать её на чужие процессы ради эксперимента не стоит: код выполнится в их главном потоке.
Примеры
import os, sys
with open('probe.py', 'w', encoding='utf-8') as f:
f.write('print("привет из отладчика")\n')
ready = hasattr(sys, 'remote_exec') and sys.is_remote_debug_enabled()
print(ready) # → ? True — 3.14 и подключение не запрещено
print(os.path.exists('probe.py')) # → True
# sys.remote_exec(target_pid, os.path.abspath('probe.py')) — только на свой процесс
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности