Reproducer
- Start a new job
- Open the job log page while it is running
- Exit the job log page before it successfully finishes
- Observe the processes under Vira using
nix run nixpkgs#pstree -- [PID_OF_VIRA]
- Notice
tail -n +1 … /vira/[JOB_ID]/output.log
The tail processes created using the above steps are never killed — accumulating over time. The only time when the tail process is cleaned up after the CI is if the user stays on the log page until the CI finishes running.

(1456 in the above screenshot is the PID of Vira started using just run in Vira's devShell)
Expected behaviour
Always cleanup spawned tail processes