Sigwire - Live TUI switchboard for Linux signals
Show HN: Sigwire – a live TUI switchboard for every signal on your Linux box
Sigwire is a live Terminal User Interface that acts as a comprehensive switchboard for every signal on your Linux system. It decodes kernel tracepoints to stream real-time data on signal generation and delivery, revealing who sent a signal, who received it, and how it was handled. Unlike traditional tools like strace, Sigwire requires no process cooperation and monitors the entire host simultaneously. It highlights critical events like EINTR interruptions and handler execution times, offering developers a powerful, non-intrusive way to debug complex concurrency issues and understand system behavior instantly.
Sigwire turns the kernel's signal machinery into a live patchbay, decoding every signal any process on the box raises without requiring cooperation from the processes involved.
- tra3
I'm embracing the AI future we live in. It should be possible to build great software with AI. AI is good at code generation, but not testing. That's the other part of the equation we seem to be forgetting.
With the first and only commit 2 hours ago, the author of this project didn't let it "bake". They didn't exercise it locally to see what issues it might have, and I have a hard time believing the very first iteration of this software is perfect. With how easy it is to prompt/push anything, I'm not interested in engaging with anything that hasn't aged a bit.
- baruch
I find it useful to see such a project. It's an interesting view of the system and a neat idea, I don't care if it's just a couple of ai prompts and will be abandoned next week or maintained for life, the idea itself is good to learn from and maybe used as a start for other useful tools for my work.
Thanks for sharing this.
- zbentley
Off topic, but watching the output of this thing renews my disappointment that so many programming languages/frameworks fail to provide signal sender information to signal handlers. It’s there! Crusty ABI and historical reasons are, as far as I can tell, the only reason why languages like Python (and many others) don’t surface sigaction to handlers without unnecessary acrobatics.
Sigh. We shouldn’t have modeled signal handling in a cross-platform, lowest-common-denominator way in HLLs. Signals have way less in common across OSes than files/sockets and the like.
Anyway, rant over. Not much to be done about it now.