-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
uv run doesn't pass signals to children #6724
Comments
Thanks for the report! |
Interesting... We do pass Ctrl+C, so I would expect this to work. |
According to https://hynek.me/articles/docker-signals/ the signal that docker is supposed to send you is SIGTERM (so not SIGINT, which is sent on Ctrl+C), but I'm not an expert on this so all i can do is link you to that page |
Although I have to add that both adding |
Would it be possible to get a new patch release with this issue now close, please? Not properly handling SIGTERM is negatively impacting anyone running uv in production with containers. For those who know it's a problem in their workloads they could mitigate this by running uv with something like tini but would prefer to get a new version here if possible 🙏 |
When you pass
uv run
as the command incompose.yml
, you can't gracefully stop the process by pressing Ctrl+C. I'm guessing it's because it's not passing sigterm to its children.Steps to reproduce:
compose.yml
and addcommand: uv run fastapi dev --host 0.0.0.0 src/uv_docker_example
docker compose build
docker compose up
You will have to wait 10 seconds until docker forcibly sigkills the process.
Then:
uv run
from the command:command: fastapi dev --host 0.0.0.0 src/uv_docker_example
docker compose up
Compose will shutdown the process almost instantaneously.
uv 0.3.3 (according to uv-docker-example's Dockerfile)
The text was updated successfully, but these errors were encountered: