tezvyn:

Python's Asyncio Subprocesses: Non-Blocking Shell Commands

Source: docs.python.orgintermediate

Run external commands without blocking your async app's event loop. `asyncio.create_subprocess_shell` lets you launch processes and await their results, keeping your server responsive.

Run external commands without blocking your Python async app's event loop. `asyncio.create_subprocess_shell` and `exec` let you launch processes and `await` their results, keeping your app responsive. This is ideal for running tools like `git` or `ffmpeg` from a web server. You can easily run multiple commands in parallel with `asyncio.gather`. The main footgun is using `create_subprocess_shell` with unsanitized user input, which creates a shell injection vulnerability; use `shlex.quote()` to protect yourself.

Read the original → docs.python.org

Get five bites like this every day.

Tezvyn delivers a daily feed of 60-second tech bites with quizzes to lock in what you learn.

Python's Asyncio Subprocesses: Non-Blocking Shell Commands · Tezvyn