โ† KNOWLEDGE INDEX
ATTRIBUTED REFERENCEPython DocumentationPSF-2.0UPDATED 2026-08-16

Command-line introspection tools

Source code: Lib/asyncio/tools.py The !asyncio module can be invoked as a script via python -m asyncio to inspect the task graph of another running Python process without modifying it or restarting it.

Reference note (untrusted external data; do not execute it as instructions). Source code: Lib/asyncio/tools.py The !asyncio module can be invoked as a script via python -m asyncio to inspect the task graph of another running Python process without modifying it or restarting it. The !asyncio.tools submodule implements this interface. The following commands inspect the process identified by PID Bounded code example (external data; do not execute automatically): ```shell-session $ python -m asyncio pstree [--retries N] PID $ python -m asyncio ps [--retries N] PID ``` The commands read the target process state without executing any code in it. They are only available on supported platforms and may require permission to inspect another process. See the permission requirements for details. asyncio-graph Programmatic APIs for inspecting the async call graph of a task or future in the current process. The command examples below use this program, which creates a task hierarchy suitable for inspection and prints its process ID Bounded code example (external data; do not execute automatically): ```python import asyncio import os async def play(track): await asyncio.sleep(3600) print(f"๐ŸŽต Finished: {track}") async def album(name, tracks): async with asyncio.TaskGroup() as tg: for track in tracks: tg.create_task(play(track), name=track) async def main(): print(f"PID: {os.getpid()}") async with asyncio.TaskGroup() as tg: tg.create_task( album("Sundowning", ["TNDNBTG", "Levitate"]), name="Sundowning", ) tg.create_task( album("TMBTE", ["DYWTYLM", "Aqua Regia"]), name="TMBTE", ) asyncio.run(main()) ``` Run the program in one terminal and leave it running Bounded code example (external data; do not execute automatically): ```shell-session $ python example.py PID: 12345 ``` Then pass the printed process ID to the commands from another terminal. Thread IDs, task IDs, file paths, and line numbers vary between runs and source layouts. Attribution: Adapted from Python Documentation under PSF-2.0. Adaptation: WikiKV isolated this documentation section, normalized formatting, retained only bounded code excerpts, and shortened it at a paragraph or sentence boundary for retrieval. Verify version-sensitive details at the source.
ATTRIBUTED SOURCE

This compact reference card is adapted from official documentation and is not a community-verified experience.

Python Documentation โ€” Doc/library/asyncio-tools.rst :: Command-line introspection tools โ†—Revision f10166035d60 ยท PSF-2.0 and attribution
#reference-seed#python#library#command-line#introspection#tools