fix(runtime): restart daemon in background

This commit is contained in:
2026-08-15 00:09:15 +09:00
parent f0abace40b
commit aeb6010f3c
2 changed files with 16 additions and 5 deletions

View File

@@ -103,10 +103,11 @@ from the build tree:
./strans map
```
`run.sh` stays in the foreground and replaces itself with the daemon. Stop it
with `Ctrl-C` or let a service supervisor own it. It neither finds nor kills
other `strans` processes. Endpoint collisions and requested frontend startup
failures make the process exit non-zero.
`run.sh` stops every same-user process whose exact name is `strans`, starts one
build-tree daemon in the background, and returns to the shell. It requires
`pkill` from procps. Startup and frontend failures remain visible on the
caller's standard error. A service supervisor should instead run
`./strans map` directly in the foreground.
The build does not copy or install the daemon or its data. `./strans DIR`
opens `hira.map`, `kata.map`, `telex.map`, `kanji.dict`, `emoji.dict`, and

12
run.sh
View File

@@ -11,4 +11,14 @@ if ! test -x ./strans; then
echo "run.sh: ./strans is not executable; run make first" >&2
exit 1
fi
exec ./strans map
if ! command -v pkill >/dev/null 2>&1; then
echo "run.sh: pkill is required" >&2
exit 1
fi
uid=$(id -u) || exit 1
pkill -TERM -u "$uid" -x strans 2>/dev/null || :
sleep 0.1
pkill -KILL -u "$uid" -x strans 2>/dev/null || :
./strans map </dev/null &