Ce face sys.remote_exec() și sys.is_remote_debug_enabled()
Python 3.14 permite atașarea la un proces Python care rulează: remote_exec(pid, script) programează rularea fișierului script în procesul pid, la următorul punct sigur. Așa funcționează python -m pdb -p PID. Necesită aceeași versiune de Python și drepturi de depanare asupra procesului (pe macOS și Linux, de obicei drepturi de administrator).
is_remote_debug_enabled() spune dacă procesul curent acceptă atașarea; poate fi dezactivată cu -X disable_remote_debug sau PYTHON_DISABLE_REMOTE_DEBUG.
Parametri
| Parametru | Descriere |
|---|---|
pid |
Procesul țintă. |
cale_script |
Scriptul rulat acolo. |
Ce returnează
None; is_remote_debug_enabled: bool.
Exemple
Exemplul 1: Inspectarea unui server care rulează
import sys
from pathlib import Path
print(sys.is_remote_debug_enabled())
Path("/tmp/inspect.py").write_text("import threading; print('fire active:', threading.active_count())")
sys.remote_exec(48213, "/tmp/inspect.py")
Rezultat (rulat ca root; mesajul apare în ieșirea procesului 48213)
True
Greșeli frecvente
- Rulezi fără drepturi suficiente și primești
PermissionError, sau ținta are altă versiune de Python.
Comenzi înrudite
breakpoint(): Oprește programul în acel punct și pornește depanatorul (pdb), ca să inspectezi variabilele.os.getpid() și os.getppid(): Identificatorul procesului curent și al procesului părinte.