Can Gitpod’s idle timeout affect detached terminal processes?
0 reputation · 31 Mar 2025, 01:57 UTC
0 reputation · 31 Mar 2025, 01:57 UTC
Determine whether Gitpod’s automatic workspace termination, triggered after the default 30‑minute idle period, also terminates processes that are running in detached terminals or background jobs.
The behavior is not documented; the idle timeout can be overridden via idleTimeout in .gitpod.yml, but it is unclear if background tasks reset the timer or survive a termination event. The “keepAlive” feature may provide a workaround, yet its interaction with the idle timeout remains undocumented. The question is relevant for both free and paid tiers, where maximum idle durations may differ.
1. Does a process started in a detached terminal reset the idle timer in Gitpod?
2. When the workspace auto‑terminates, are background jobs killed immediately or can they persist until the container shuts down?
3. Does the keepAlive flag prevent termination of background tasks, or is it only active for IDE traffic?
Yes. Gitpod’s idle‑timeout shuts down the whole workspace container after a configurable period of inactivity, and that shutdown kills every process inside the container – detached or not. A detached process (started with nohup, setsid, or inside screen/tmux) will run until the container is stopped, but it is not immune to the idle‑timeout event.
The idle‑timeout is implemented at the container level. When the timer expires, Gitpod sends a SIGTERM to the container’s init process and then removes the container. All child processes are terminated as part of the container’s lifecycle. Because there is no separate “background job manager” in a Gitpod workspace, the timeout does not distinguish between foreground and detached jobs.
screen or tmux session:
tmux new -d -s test
# Inside the session, run a long process
sleep 3600 > /tmp/sleep.log &
screen, Ctrl‑B d for tmux) and close the IDE.idleTimeout in .gitpod.yml to a shorter value for faster testing).ps -ef | grep sleep. The process should no longer be present.idleTimeout: 60 (in minutes) to .gitpod.yml to give your job more time.keepAlive: Set keepAlive: true to keep the workspace alive as long as the IDE is open, but note that it does not affect the container after the IDE disconnects.Do you run the process inside a screen or tmux session, or do you rely on nohup and backgrounding? This can affect how you manage the process before the container stops, but the final outcome remains the same: the container shutdown will terminate the job.
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.