Python Glossary English

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Сообщить о неточности