Urgent.News

What's breaking now, across thousands of outlets.

Tech

Closing a Terminal Sends Your Coding Agent SIGHUP. How Session Hosts Keep It Alive

Book: System Design Pocket Guide: Interviews The series: Pocket Guides for Developers — 8 short books on agents, RAG, prompts, observability, events, databases and system design — the whole series My project: Hermes IDE | GitHub — an IDE for developers who ship with Claude Code and other AI coding tools Me: xgabriel.com | GitHub You hand a coding agent a long refactor, watch it start on the test…

When you close a terminal window while a coding agent is executing a long refactor, that process disappears along with any progress it had not saved to disk. The terminal app never actively sought out the agent. Two "hops" caused its demise: the kernel informed the shell that its terminal had disconnected, delivering the SIGHUP signal, and the shell in turn passed that signal to every job it managed.

Different methods can stop this chain of events, each cutting through a distinct hop. "nohup" and "disown" eliminate the job from the shell's list, while "setsid" and "tmux" create a new session, sidestepping the terminal altogether. Only one method, "tmux", leaves the agent with a functional terminal window you can continue interacting with.

To demonstrate, you can test each approach in separate terminal windows. Start a "sleep" command as a background job, then apply each technique and close the window. Use "ps" to monitor which processes remain after the window closes and a new one is opened. The surviving processes show different behaviors depending on the technique employed.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

BLACKBOX: Giving Incident Response a Memory

Production incidents rarely arrive as isolated problems. A single alert can be connected to a recent deployment, a downstream dependency, an overloaded database, an unfamiliar service owner, or a…

  • BLACKBOX AI tool helps SRE teams investigate incidents by connecting services, alerts, and runbooks.
  • Uses knowledge graph FalkorDB for multi-hop reasoning to identify root causes and blast radius.

Your success message is the one nobody reviews

Robert Nnamani left a comment under my last piece with a better example than anything in the post itself, and I have been carrying it around for a day. He spent a week trusting an SES 200 OK .

  • Success messages often unnoticed, unlike error messages
  • Errors clearly indicate problem and offer solution
  • Success messages may blind users by leaving situation unaddressed

Go error handling patterns that scale: wrapping, unwrapping, sentinels

Go's error handling gets a lot of criticism from developers coming from exception-based languages. But the real problem isn't if err != nil — it's the patterns that get built on top of it.

  • Wrapping errors with fmt.Errorf and %w preserves original error while adding context in Go 1.13+
  • Wrap errors at origin point, not mid-process, to avoid unnecessary noise
  • Sentinel errors useful for caller-based branching on error types, not needed for all internal errors

SpaceX Bids for Space Dominance, Plans 456 Starship Launches Per Year

SpaceX's plans for Starship are out of this world, and quite simply boggle the mind.

  • SpaceX plans to launch 456 Starship megarockets in a single year.
  • Requested permission for up to 100 launches per year in Phase 1.
  • Phase 2 expansion to 456 launches annually would increase payload by 68,400 tons.

More from Sunday 18 October →