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.
…right…tell that to cmd.exe or the OpenVPN daemon, or the soft ether VPN daemon, or OpenConsole.exe, or Idk, I only tested 4 that immediately came to mind but my point stands. There are a lot of programs that do not have a window handle and do not bother with window messages.
Service (daemon) lifecycles are managed via the system services api.
Yep, I’m aware of that too, doesn’t change my initial point
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.
sig bart
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.
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.
Does the “SIG” stands for “Signal”?
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)
While the meme is very funny, it is technically incorrect.
The worst kind of incorrect!
I think it is showing sigterm correctly. Sigkill wipes you from existence without leaving a body or trace of memory.
Stop spreading this lie. Linux has a more graceful shutdown process than Windows ever did. It doesn’t abruptly kill everything.
Unless you told him to do so. 🙃
Isn’t that what
SIGTERMis? A request to gracefully shutdown processes.killall -9Systemd waits until the services terminate before shutting down
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!
Windows: If you can’t exit gracefully, I’ll make sure you never exit at all
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.
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.
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
Oh sweet summer children… its worse. Linux tells the program to kill itself, then makes sure it happens
I get it windows is evil and bloated, blah blah blah.
But to hear some of you describe the problems that you have using windows makes me think that you’re as incompetent as my grandmother.
I do find it a little amusing the people complain about things that are (an admittedly advanced) config away from being the way they want. As if Linux doesn’t have settings buried in a similar way to registry changes.
Android/iOS users: What is “closing“? What is a „program“?
From what I’ve heard about Windows, it works more like the Simpsons “Barney coming up behind Moe” meme.
So, as it should be, Tux.
In Linux you get zombie processes hanging around when things go wrong, and you can’t get rid of those.
Yes you can. You get rid of the zombies by killing the parent process.
Zombies are getting to be parents now?
Woke has gone too far, in my day they would have gotten a bullet between the eyes.
I think zombies go under kernel or “root process” by default now
You can also try signalling the parent with a SIGCHLD. Most of the time it does nothing, and hey, you’d be using a stronger version of the kill command anyway if it doesn’t work.
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.
kill -9 that motherfucker.
In my experience it is more the reverse is true. If a program truly craps out on me in windows i could at least get the task manager to show / use it to terminate the offender or reboot, at least back when i still used it.
Meanwhile my bazzite task manager is notably not a native part of the OS and takes a few seconds to load, and if the system is in some sort of frozen screen state my only real recourse is hitting the physical force reboot button. The windows manager could sometimes recover from those.
Overall it is of course a much better experience compared to Windows regardless, but still. Everything being essentially modular pieces compiled into a system can evidently also have minor downsides.
ctrl-alt-f2 (or f3, f4)
this should switch away from graphical mode to a terminal.
log in kill whatever needs killin’
While it is 100% understandable, that the lack of a graphical task manager is annoying, you are not completely without options. If you want to terminate a process you can easily type pkill -f process_name into your console. The process name doesn’t even have to be exact with the process name (as example the process name is signasignal_desktop, providing signal to the command would be enough to kill it).
Honestly, yes.
Linux lacks a native Task manager, and this is one of the “death by a thousand cuts” roadblocks that prevent its adoption.
A user must be able to launch a graphical tool to manage processes even if everything else froze. That’s just basic usability.
Can it be currently resolved with a terminal? Yes. Should it be resolved with a terminal? No.













