What’s Linus?
Lol as we’ve discussed before, inaccurate but funny.
From what I’ve heard about Windows, it works more like the Simpson’s Barney coming up behind Moe meme.
So, as it should be.
While the meme is very funny, it is technically incorrect. Linux has two major ways of terminating a process. When Linux wants a process to terminate execution (for whatever reason) it first sends the SIGTERM signal to the process, which basically “asks” the process to terminate itself. This has the advantage, that the process gets the chance to save its state in a way, that the execution can continue at another time. If the process however ignores the SIGTERM signal at some point Linux will instead forcefully terminate the execution using the SIGKILL signal. This represents what the image shows.
Before someone gets mat at me: I know, that there are like 50 more Signals relevant to this, but wanted to keep it simple.
deleted by creator
Looks like someone got SIGKILL’d
Simple answer for us simple folk. I like it. Thank you!
I think it is showing sigterm correctly. Sigkill wipes you from existence without leaving a body or trace of memory.
Does the “SIG” stands for “Signal”?
Special Interest Group. An internal committee convenes to decide the fate of the process.
(I don’t know the answer, but I’m pretty sure it stands for signal.)
I like to secretly imagine it stands for SIG SAUER. Bang = process ded
Eh, it works more than 80% of the time.
The problem with Sig is they work too oftem, particularly when you don’t want them to
80% of the time it works every time!
You’re likely bumping into processes which are blocked by IO or are zombies.
I guess, but would have to look that up too (there are quite a lot of signals starting with SIG, so it would make sense that it is this way)
Stop spreading this lie. Linux has a more graceful shutdown process than Windows ever did. It doesn’t abruptly kill everything.
Windows has something called the ShutdownBlockReasonCreate API which enables apps with long running operations to prevent a shutdown to avoid corruption or losing work.
Is there an equivalent for Linux? When used appropriately, it makes shut downs even more graceful.
Unless you told him to do so. 🙃
Well, I don’t know whether it’s by default, but systemd does so - if the program doesn’t close in a timely manner (or there is an exception configured)
Android/iOS users: What is “closing“? What is a „program“?
May use an iPhone but definitely use a Linux desktop.
Android folks generally know because we have to close them sometimes. Don’t know about iPhoners
Windows:
- program refuses to shutdown
- system: okay, guess you don’t need your computer to turn off anyway
Such grace.
There is a windows registry hack to set the shutdown wait time for 1s and that did fix it for me. But every update they turn it back to unlimited.
(I ended up installing Linux, I only have the dnf5daemon server holding the shutdown up for atnost 5min now. But I haven’t tried to fix it)
Which is why in my Windows days I got a habit of turning computer off with Windows + R --> shutdown -s -f -t 0
Windows just works, my ass :)
Windows task manager:
Let’s play a whack a mole game where the app you’re trying to kill constantly moves up and down a list by default! Enjoy!
There’s a non-obvious freeze function in the Task Manager - for as long as you hold the Ctrl key, it’ll stop updating the list. I have no idea why this functionality is hidden, but I guess Dave Plummer had some unusual ideas about UX.
Just sort by ram size
Graceful like closing a laptop and putting it in a backpack only to have windows refuse to shutdown and become a heater until it cooks the battery and ruins the screen…
To be honest, Mint is no better in that regard on my laptop. Closing my laptop and pulling the power adapter always results in the system not going to sleep mode, but remaining active. Opening it will actually cause it to resume going to sleep. Really annoying.
Isn’t that more of a PEBCAK?
I literally had this happen with my desktop last night, and it’s entirely down to Windows actively choosing to go into sleep mode or not. No activity on the computer, click on sleep, the monitors go off and I started to walk away except I noticed that my keyboard and mouse were still on (the first things to turn off when Windows goes to sleep for me) and the fans were still running. Wiggled the mouse and it had only turned the monitors off. I tried it 2 or 3 more times and Windows kept doing the same thing - putting the monitors to sleep and nothing else. I eventually just straight up shut it down with the power button.
It absolutely isn’t. If a laptop lid is closed, it needs to be sleeping, period. No random updates, no search indexing. I’ve also had this happen after explicitly putting laptops into sleep AND closing the lid. No idea how Apple is the only company able to do this consistently.
This absolutely can and does happen on Apple hardware
I haven’t used a mac for over a decade, but for the decade or so before that it never happened to me once, either on an iBook or MBP. Perhaps something changed in the meantime.
Apple laptops are typically extremely good when it comes to sleep and suspend.
A major advantage of having a very small range of hardware you have to support is that it’s pretty easy to test all possible combinations and make sure they work well together. As far as I’m concerned, Apple has been, and probably always will be the undisputed champion of doing this right.
Never happened to me lmao. Apple is for tech illiterates anyways so it’s inconsequential.
Nope. Go read about the “modern suspend” a.k.a. S0ix horror stories. Totally the fault of Microsoft+manufacturers, happens in Linux and Windows.
I mean, also look at how windows installs programs. Its like a 100 step process taking several minutes, because just putting the files where they need to be is just too simple.
Or the uninstall program, cant just remove the files, no… Need to run full installer backwards to remove all the registry entries and even reboot the system to get rid of it all.
“apt install <program>” is just so much nicer than running some weird installer.
One of the actual (many) reasons that drove me from Windows. Over the years it became so dirty to have so many old files and registry entries that were abandoned by their respective uninstallers that I became wary of installing anything at all, and that’s not the feeling I want with my personal computer.
Uninstallation on Linux needs to do the equivalent of removing registry entries (settings) as well. Neither prices typically takes long. Windows does require more reboots, but you can typically get away without rebooting still.
That’s what --purge is for, in apt.
The main difference is Linux package managers with their package metadata is better at cleaning up than corresponding Windows installers.
Especially antivirus programs, they are the worst
Linux settings are stored in files in your home directory, and uninstalling typically leaves those files intact.
Some of them, but not all of them. Uninstalling things on windows also often leaves registry entries. It’s just not that different
Ironically it’s actually the opposite. Linux has signals, and with the exception of SIGKILL and I think SIGABRT they can all be handled gracefully. Windows on the other hand doesn’t have signals, it can only TerminateProcess() which is forceful. The illusion of graceful termination on windows is done by sending a Window close message to all of the windows belonging to a given process, however in the event the process has no windows, only forceful termination is available due to the lack of a real mechanism to gracefully terminate processes. That’s why the taskkill command tells you a process requires forceful termination when you run it against something headless.
You’re right about Linux but you’re wrong about windows. It is sent to the event loop in windows https://learn.microsoft.com/en-us/windows/win32/winmsg/window-notifications. It’s been a long time since it was my job, but you actually had to pass a certification that your application exited gracefully in response to these messages as part of the partner program back in the day.
You clearly didn’t read my message…I said a “window close message.” I.e…WM_CLOSE. that is not a process signal, it’s a window management signal. Hence taskkill not working without /f on headless processes
Long running headless processes on windows generally still have an event loop and a window handle via which they process those messages.
Windows does, in fact, have signals. They’re just not all the same as Unix signals, and the behavior is different. Here’s a write-up.
You’re correct there is no “please terminate but you don’t have to” signal in Windows. Windowless processes sometimes make up their own nonstandard events to implement the functionality. As you mentioned, windowed processes have WM_CLOSE.
Memory access violations (akin to SIGSEGV), and other system exceptions can be handled through Structured Exception Handling.
TIL about the console signaling stuff, good to know. I am aware of SEH but that seemed a little too in the weeds for this discussion since that’s as you say akin to SIGSEGV
The NT kernel was all built to emulate object orientation (read Smalltalk, not C++) style message passing. That’s because it was the 90s, and it’s the new technology kernel.
So yeah, expect everything to have more flexibility sending data around, and no standardization at all so you can’t have any generic functionality.
sig bart
That’s fucked up
It also means the OS is in total control of the things it’s running. This goes for running programs, shutting down, and crashing. The only crashes I have on my Linux are when I use up memory, and I’m still convinced that even though everything looks seized up, if I left it for hours or days it would probably end up resolving itself. I’ve had some cases where the OS saw the program wasn’t going in a good direction fast enough and killed it.
Most linux systems have two OOM killers, one in the kernel that will execute as a last resort when your system is already frozen up, and one in systemd that should run earlier to prevent your system from freezing up. That one works sometimes, I think it does an okay job actually.
Plus, if something seemingly can’t be terminated with that, 99% of the time it’s a kernel level lockup (e.g. disk IO). At which point you only have 2 options: kill it via a kernel debugger or (the more likely scenario) perform a reboot.
Windows: If you can’t exit gracefully, I’ll make sure you never exit at all
Oh dear, my toe seems to have found the switch on my surge protector. I win.
Now Windows won’t boot
Take the upgrade
/c/programmer_ignorance
This meme gets crustier and crustier every time I see it. It’s amazing after all these years people still post this.
Eh, it’s funny even if it’s inaccurate.
I kind of love it though it’s like tje fine wine of the internet getting worse and worse yet better and better with time.
Each repost adds another layer of artifact and grit until you can barely make out what the original even meant. It’s been screenshotted and cropped and saved and shared, on Facebook and Reddit and Xitter who cared? From phone to phone and site to site the pixels crumble day and night!
The colors fade, the text grows blurry, reposted fast, reposted hurry! Through Discord servers, Instagram feeds and Fedi-instance’s it spreads like mold, like digital weeds! One hundred times! One thousand more! The quality drops right through the floor! And yet we laugh and yet we share this crusty meme beyond repair!
So let it crumble, let it fray, this meme will live another day. For in its crust we find the truth, the internet’s eternal youth!
The image’s content is plain wrong. Waxing poetic about JPEG artifacts doesn’t make this image any more interesting or funny. It’s just dumb.
Why am I cross-posting .ml content?
I cross-post from .ml to the nearest relevant non-.ml comm to reduce the influence of .ml comms and indirectly, the instance as a whole, to make it an easier decision for other instance admins to defederate because one key reason I identified that admins don’t want to defederate is because .ml still has some very large comms and some niche comms.
Some highlights from the link:
"Don’t worry guys, the Uyghur Genocide was REALLY just birth control! ~dessalines, .ml admin, dev https://lemmy.world/post/30580167
“See! nobody died IN Tiananmen Square, just AROUND it, so it doesn’t count!!” ~ Davel, .ml admin https://lemmy.world/post/30673342
.ml admin, Nutomics continued transphobia https://lemmy.world/post/29222558 The original transphobic Comment from Nutomic: https://lemmy.world/post/18236068
“NK is actually good and anything counter to that is Western propaganda!” ~dessalines, .ml admin, dev https://lemmy.world/post/31595035
General negative sentiment to other instances who haven’t “seen the way” yet ~davel, .ml admin https://lemmy.world/post/27426510
“If you don’t support Russia then you just don’t understand geopolitics” ~dessalines, .ml admin, dev https://lemmy.world/post/27352415
And so so much documentation on clear heavy handed censorship and bias also on the link. So much I can’t even put them all here because this comment would be really long.
I believe the behavior of its admins (the main admins are Lemmy devs) does harm to the overall growth of the Lemmy-verse and maybe even the Thrediverse (since Lemmy kinda kicked off the Thrediverse) because of its association with the devs of Lemmy and their insistence to use .ml as their personal political platform to spread harmful propaganda
On the outside, bringing up Lemmy frequently leads to comments like “Lemmy? Isn’t that the place with a bunch of tankies?” Or “Tried Lemmy, but found it full of pro Russia crap so I left”. The best way forward from that I see is to either widely defederate from .ml like the rest of the Triad, or pressure them to put a fair and unbiased as possible admin team.
On the outside, bringing up Lemmy frequently leads to comments like “Lemmy? Isn’t that the place with a bunch of tankies?”
The only place I hear people even talk about tankies is on Lemmy. You are really in an echo chamber if you think that tankies are the first thing that people think of when you mention Lemmy. In reality, it’s either “What’s Lemmy?” or “Lemmy is too difficult. Federation confuses me.”
Thank you for your service.
Isn’t that what
SIGTERMis? A request to gracefully shutdown processes.kill, and I swear to god if you’re still there when Ips, I’m getting out the-9alias murder="kill -9"Yeah, by default
killsends sigterm, and not kill the process at all.It’s the correct behavior, sending sigkill by default would be harmful. Now take a look at how
killallworked in Solaris (before it adopted GNU).Okay that took me by surprise
I’ll be sharing this
Please do!
Systemd waits until the services terminate before shutting down
I bet the GUI environments also have their own mechanisms to indicate that the app needs to close, before whipping out the signals.
killall -9How’s that differ from
SIGHUP?Historical context, delivery, and handling.
HUP—hang up—is sent to indicate the TTY is closed.
TERM—terminate— is sent by request.What happens when received is usually up to the process. Most of them just leave the defaults, which is to exit.
They’re different signals. The default handling is the same - terminate - but they’re triggered by different things and (if the process handles them) handled by separate handlers.





















