diff --git a/CLAUDE.md b/CLAUDE.md index 595a357..0bf6792 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -73,8 +73,10 @@ container restarts on its own after a reboot. Before the container, ipx ran by hand in code-server, with its files in `/config/.config/ipx/` and `/config/.local/share/ipx/`. Those are still there and the container does not read them. If you run -a daemon by hand for testing, stop it with **`pkill -x ipx`, never `pkill -f ipx`**. `-f` matches -the shell running the command and kills the session (exit 144). This has happened more than once. +a daemon by hand for testing, **stop it by its own PID**: start it with `& echo $! > pid` and +`kill $(cat pid)`. Never `pkill -x ipx`: Tower sees the container's processes, so it kills +production's daemon as well (issue #38). Never `pkill -f ipx` either: `-f` matches the shell +running the command and kills the session (exit 144), which has happened more than once. ## Before you touch the page diff --git a/docs/cli.md b/docs/cli.md index 8624498..6efaf37 100644 --- a/docs/cli.md +++ b/docs/cli.md @@ -80,7 +80,9 @@ To kill it, match the binary exactly: pkill -x ipx ``` -`pkill -f ipx` matches the shell running the command too, and kills your own session. +`pkill -f ipx` matches the shell running the command too, and kills your own session. On a machine +that also runs ipx in a container, `pkill -x ipx` stops that one as well, since the host sees a +container's processes: stop the one you started by its PID instead (`kill `). ## Talking to it directly