What negotiation? I have a hard time to follow what you mean. Which operating system does turn off when shutting down? If it does not, then either its configured to do so (or not to) or there is an issue that needs to be handled and resolved. You don’t want your PC turn off immediately, so it can do stuff that is needed (such as wait for all drives to write the data) or remove temporary files and unmount drives and so on. Otherwise an instant turn off is equivalent to a crash (including all background services and running applications, losing data, corrupting drives…).
Pretty sure both windows and macos allow programs to interrupt shutdown, usually if there’s any unsaved documents open. I quite like that feature actually, if it’s used correctly anyway.
My laptop will send a signal to all programs telling them to shut down, which includes cleaning up their stuff, and then it unmounts the drives, and then it shuts down. It just doesn’t wait forever and make me fix the problem if some program is having trouble shutting down. That is the correct behavior.
I do get that it’s nice to be protected against having your work blown away. As a first step, the idea of checking with every program to make sure it’s okay to turn off was a good progress, back in the past when it was first invented. The solution in the present day to that is autosave. The solution is definitely not to leave all the user’s work unsaved for a potentially unlimited amount of time, and then refuse to shut down if there is any terminal that still has an ssh session open, any settings window still open, or any GIMP session with files exported but not saved as .xcf.
Literally 2/3 of those obstacles happen pretty much every time I shut down my Mac, and I have to wander through the programs resolving programs’ problems that have nothing to do with saving my work. It’s annoying. I do understand that, with the other way, you have to go around checking that you have no work unsaved before shutting down. But, if you are mature enough to do that, then the “init 0” way is objectively better.
What negotiation? I have a hard time to follow what you mean. Which operating system does turn off when shutting down? If it does not, then either its configured to do so (or not to) or there is an issue that needs to be handled and resolved. You don’t want your PC turn off immediately, so it can do stuff that is needed (such as wait for all drives to write the data) or remove temporary files and unmount drives and so on. Otherwise an instant turn off is equivalent to a crash (including all background services and running applications, losing data, corrupting drives…).
Pretty sure both windows and macos allow programs to interrupt shutdown, usually if there’s any unsaved documents open. I quite like that feature actually, if it’s used correctly anyway.
My laptop will send a signal to all programs telling them to shut down, which includes cleaning up their stuff, and then it unmounts the drives, and then it shuts down. It just doesn’t wait forever and make me fix the problem if some program is having trouble shutting down. That is the correct behavior.
I do get that it’s nice to be protected against having your work blown away. As a first step, the idea of checking with every program to make sure it’s okay to turn off was a good progress, back in the past when it was first invented. The solution in the present day to that is autosave. The solution is definitely not to leave all the user’s work unsaved for a potentially unlimited amount of time, and then refuse to shut down if there is any terminal that still has an ssh session open, any settings window still open, or any GIMP session with files exported but not saved as .xcf.
Literally 2/3 of those obstacles happen pretty much every time I shut down my Mac, and I have to wander through the programs resolving programs’ problems that have nothing to do with saving my work. It’s annoying. I do understand that, with the other way, you have to go around checking that you have no work unsaved before shutting down. But, if you are mature enough to do that, then the “init 0” way is objectively better.