And as always with this meme: Both Windows and Linux can ask a process nicely to terminate or kill it outright. And the default for both is to ask nicely.
on windows a process can get in a state so that it is impossible to make it go away, even with process explorer or process hacker. mostly this also involves the bugged software becoming unusable.
I encounter such a situation from time to time. one way it could happen is if the USB controller has got in an invalid state, which one of my pendrives can semi-reliably reproduce. when that happens, any process attempting to deal with that device or its FS, even the built-in program to remove the drive letter, will stop working and hang as an unkillable process.
Linux has that issue too. A process in an uninterruptible blocking syscall stays until that syscall finishes, which can be never if something weird’s going on.
oh yeah now that you say, SMB/CIFS mounted share if connection is no more. when I experienced this, it was temporary though, because there’s a timeout which is half (or double?) of the configurable reconnection timeout. but now that I think of it, I’m not sure if it made it unkillable.
Add a -f to your umount and you can clear up those blocked processes. Sometimes you need to do it multiple times (seems like it maybe only unblocks one stuck process at a time).
When you mount your NFS share you can add the “soft” option which will let those stuck calls timeout on their own.
Hitting the X in Windows and hitting the X in Linux both cause the application to start a save yourself routine. From the OS standpoint they’re not far off.
The problem is we have a lot of confirmation bias in windows because every time we want to close an application that’s not working, that save yourself call has to sit around for a hellaciously long time out followed by a telemetry call so that Microsoft can track that it happened.
It’s pretty rare that Linux apps don’t just close.
Because that’s better for the software, Linux however kills it outright when it doesn’t respond at all. Windows just… Waits. And you can’t really hardkill the processes from the task manager. Or at last my last knowledge is that.
League of Legends captures and discards the ALT-F4 keystroke combination.
Microsoft trusts app developers to use Microsoft’s standards (such as terminating the process when a close message is received) and they shouldn’t. App developers like Riot have taken advantage of this trust and tuned their apps to act differently than expected, and include code which makes the app minimize to the system tray instead, or force the user to answer questions (“Are you SURE you want to close?”), or do nothing at all.
Linux programs can also capture signal calls. They usually only capture sigints so that they can close gracefully, but theoretically you could also capture a sigkill.
And as always with this meme: Both Windows and Linux can ask a process nicely to terminate or kill it outright. And the default for both is to ask nicely.
on windows a process can get in a state so that it is impossible to make it go away, even with process explorer or process hacker. mostly this also involves the bugged software becoming unusable.
I encounter such a situation from time to time. one way it could happen is if the USB controller has got in an invalid state, which one of my pendrives can semi-reliably reproduce. when that happens, any process attempting to deal with that device or its FS, even the built-in program to remove the drive letter, will stop working and hang as an unkillable process.
Linux has that issue too. A process in an uninterruptible blocking syscall stays until that syscall finishes, which can be never if something weird’s going on.
oh, that’s good to know! iirc that’s the same reason it happens on windows too
oh, that’s good to know! iirc that’s the same reason it happens on windows too
I’ve seen that on Linux as well. Funnily enough also with faulty file systems. I think NFS with spotty wifi for one.
Oh, and once with a dying RAID controller. That was a pain in the ass. At that point I swore to only ever do RAID in software.
oh yeah now that you say, SMB/CIFS mounted share if connection is no more. when I experienced this, it was temporary though, because there’s a timeout which is half (or double?) of the configurable reconnection timeout. but now that I think of it, I’m not sure if it made it unkillable.
Add a -f to your umount and you can clear up those blocked processes. Sometimes you need to do it multiple times (seems like it maybe only unblocks one stuck process at a time).
When you mount your NFS share you can add the “soft” option which will let those stuck calls timeout on their own.
Next, you’ll tell me I shouldn’t get all my news from memes!
Well, with linux you get the option of sending mixed signals through the use of varying count of guns. I find 9 to be highly effective.
It’s awesome Linux can STOP and CONT processes ngl
Hmmmm…
Taskkill /f is reasonably close to sudo kill -9
Hitting the X in Windows and hitting the X in Linux both cause the application to start a save yourself routine. From the OS standpoint they’re not far off.
The problem is we have a lot of confirmation bias in windows because every time we want to close an application that’s not working, that save yourself call has to sit around for a hellaciously long time out followed by a telemetry call so that Microsoft can track that it happened.
It’s pretty rare that Linux apps don’t just close.
Because that’s better for the software, Linux however kills it outright when it doesn’t respond at all. Windows just… Waits. And you can’t really hardkill the processes from the task manager. Or at last my last knowledge is that.
League of Legends captures and discards the ALT-F4 keystroke combination.
Microsoft trusts app developers to use Microsoft’s standards (such as terminating the process when a close message is received) and they shouldn’t. App developers like Riot have taken advantage of this trust and tuned their apps to act differently than expected, and include code which makes the app minimize to the system tray instead, or force the user to answer questions (“Are you SURE you want to close?”), or do nothing at all.
It should be punishable by death.
deleted by creator
Linux programs can also capture signal calls. They usually only capture sigints so that they can close gracefully, but theoretically you could also capture a sigkill.
You cannot catch SIGKILL.
https://stackoverflow.com/questions/2541597/how-to-gracefully-handle-the-sigkill-signal-in-java/2541618#2541618
Thanks!
I mean, “are you sure” is useful… sometimes
You can easily make a program unkillable (or to be more precise untermable) on Linux. Here’s a simple bash script that will do that.
#!/bin/bash function finish { while true do echo "Can't kill me." sleep 10 done } trap finish EXIT trap finish TERM trap finish INT while true do echo "Still alive." sleep 10 done