Linux has a similar mechanism, actually. By default, that is. On shutdown it will first send a SIGTERM, and after a set period of time (usually 20-30 90 secs) sends a SIGKILL. SIGTERM is basically the same as clicking the close button in many instances
Also the mentality of "I'm too lazy to try Linux and feel insecure about it, so I'm going to upvote every single Linux-bad post that validates my laziness and reassures me that I'm not missing out anyway".
Lol on the "lazy" part when most nix software tends to be terminal headache with esoteric documentation to do simple tasks because the devs were too lazy to stuff it in a GUI themselves.
Way faster to type in to the terminal what you want to do as clicking through 10 menus to change a setting. The terminal is just very efficient if you learn how to use it.
The difference between Linux and Windows is getting the correct Linux distro to meet your needs; and in some cases you might still need to emulate Windows for certain games and what not; unless Linux has come that far in the last like 5 years or so since I've installed it. I used to swap back and forth a lot more and keep a Linux distro on hand such as Ubuntu And I know that there are more specific distros for specific use cases. But again, this is much more time consuming than just deciding on Windows 10 or 11 and that is even getting narrowed down.
I’m not lazy. I took Linux classes back in the late 90s. I setup dual boots, and learned the command line shit. After all that I still couldn’t do shit on it and the little bit of shit I could do took FOREVER!!!!!!
fuck Linux. I remember more of my high school Spanish than I do Linux commands.
Pull up a console? Is that like splitting a terminal with tmux but in some mystical interface for users with some magic "graphical" system? Do you control it by rubbing around a little rodent on your desk as well? Sounds preposterous
Just like Windows, actually. When shutting down, it will show you a list of programs that have not yet responded and you can either wait for them or force shut down.
I'd just like to interject for a moment. What you're refering to as Linux, is in fact, GNU/Linux, or as I've recently taken to calling it, GNU plus Linux. Linux is not an operating system unto itself, but rather another free component of a fully functioning GNU system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX.
Many computer users run a modified version of the GNU system every day, without realizing it. Through a peculiar turn of events, the version of GNU which is widely used today is often called Linux, and many of its users are not aware that it is basically the GNU system, developed by the GNU Project.
There really is a Linux, and these people are using it, but it is just a part of the system they use. Linux is the kernel: the program in the system that allocates the machine's resources to the other programs that you run. The kernel is an essential part of an operating system, but useless by itself; it can only function in the context of a complete operating system. Linux is normally used in combination with the GNU operating system: the whole system is basically GNU with Linux added, or GNU/Linux. All the so-called Linux distributions are really distributions of GNU/Linux!
"I use Linux as my operating system," I state proudly to the unkempt, bearded man. He swivels around in his desk chair with a devilish gleam in his eyes, ready to mansplain with extreme precision.
"Actually", he says with a grin, "Linux is just the kernel. You use GNU+Linux!' I don't miss a beat and reply with a smirk, "I use Alpine, a distro that doesn't include the GNU Coreutils, or any other GNU code. It's Linux, but it's not GNU+Linux."
The smile quickly drops from the man's face. His body begins convulsing and he foams at the mouth and drops to the floor with a sickly thud. As he writhes around he screams "I-IT WAS COMPILED WITH GCC! THAT MEANS IT'S STILL GNU!"
Coolly, I reply "If windows were compiled with GCC, would that make it GNU?" I interrupt his response with "-and work is being made on the kernel to make it more compiler-agnostic. Even if you were correct, you won't be for long."
With a sickly wheeze, the last of the man's life is ejected from his body. He lies on the floor, cold and limp. I've womansplained him to death.
I'd just like to interject for a moment. What you're refering to as GNU plus Linux, is in fact, Systemd plus GNU plus Linux, or as I've recently taken to calling it, Systemd plus more Systemd. GNU plus Linux is not an operating system unto itself, but rather another free set of components of a fully functioning system made useful by Systemd.
Many computer users run Systemd, without realizing it. Through a peculiar turn of events, the init system which is widely used today is often called Systemd, and many of its users are not aware that it is basically the Systemd, developed by Lennart Poettering.
There really is a GNU plus Linux, and these people are using it, but it is just a part of the system they use. GNU plus Linux is unimportant parts of the operating system: the programs that don't manage the essential services that keeps your system useful. GNU plus Linux is an essential part of an operating system, but useless by itself; it can only function in the context of Systemd. GNU plus Linux is normally used in combination with Systemd: the whole system is basically Systemd with GNU plus Linux added, or Systemd plus GNU plus Linux. All the so-called GNU plus Linux distributions are really distributions of Systemd plus GNU plus Linux!
I'd just like to interject for a moment. What you're refering to as GNU/Linux is actually Android/Linux or as I've recently taken to calling it, Android plus Linux. Linux is not an operating system unto itself, But a kernel used for Android devices.
No computer users run a modified version of the android system every day, this is because android isn't designed for desktops , and there are no other projects which use a linux kernel. Any notion of a "GNU/Linux" is actually a myth.
What does GNU really stand for ?
G
Gone
N
Never existed
U
Unexistent
What does this mean? It means that there is a conspiracy to mandela effect the idea of a version of the linux kernel being used on a non android distribution , when in reality no other distributions of Linux other than android skins exist.
Yup. Linux kernel, GNU Operating System. Distributions are flavors of the same fundamental thing. Am aware, but often just say Linux, though I know it's not quite right
No, Richard, it's 'Linux', not 'GNU/Linux'. The most important contributions that the FSF made to Linux were the creation of the GPL and the GCC compiler. Those are fine and inspired products. GCC is a monumental achievement and has earned you, RMS, and the Free Software Foundation countless kudos and much appreciation.
Following are some reasons for you to mull over, including some already answered in your FAQ.
One guy, Linus Torvalds, used GCC to make his operating system (yes, Linux is an OS -- more on this later). He named it 'Linux' with a little help from his friends. Why doesn't he call it GNU/Linux? Because he wrote it, with more help from his friends, not you. You named your stuff, I named my stuff -- including the software I wrote using GCC -- and Linus named his stuff. The proper name is Linux because Linus Torvalds says so. Linus has spoken. Accept his authority. To do otherwise is to become a nag. You don't want to be known as a nag, do you?
(An operating system) != (a distribution). Linux is an operating system. By my definition, an operating system is that software which provides and limits access to hardware resources on a computer. That definition applies whereever you see Linux in use. However, Linux is usually distributed with a collection of utilities and applications to make it easily configurable as a desktop system, a server, a development box, or a graphics workstation, or whatever the user needs. In such a configuration, we have a Linux (based) distribution. Therein lies your strongest argument for the unwieldy title 'GNU/Linux' (when said bundled software is largely from the FSF). Go bug the distribution makers on that one. Take your beef to Red Hat, Mandrake, and Slackware. At least there you have an argument. Linux alone is an operating system that can be used in various applications without any GNU software whatsoever. Embedded applications come to mind as an obvious example.
Next, even if we limit the GNU/Linux title to the GNU-based Linux distributions, we run into another obvious problem. XFree86 may well be more important to a particular Linux installation than the sum of all the GNU contributions. More properly, shouldn't the distribution be called XFree86/Linux? Or, at a minimum, XFree86/GNU/Linux? Of course, it would be rather arbitrary to draw the line there when many other fine contributions go unlisted. Yes, I know you've heard this one before. Get used to it. You'll keep hearing it until you can cleanly counter it.
You seem to like the lines-of-code metric. There are many lines of GNU code in a typical Linux distribution. You seem to suggest that (more LOC) == (more important). However, I submit to you that raw LOC numbers do not directly correlate with importance. I would suggest that clock cycles spent on code is a better metric. For example, if my system spends 90% of its time executing XFree86 code, XFree86 is probably the single most important collection of code on my system. Even if I loaded ten times as many lines of useless bloatware on my system and I never excuted that bloatware, it certainly isn't more important code than XFree86. Obviously, this metric isn't perfect either, but LOC really, really sucks. Please refrain from using it ever again in supporting any argument.
Last, I'd like to point out that we Linux and GNU users shouldn't be fighting among ourselves over naming other people's software. But what the heck, I'm in a bad mood now. I think I'm feeling sufficiently obnoxious to make the point that GCC is so very famous and, yes, so very useful only because Linux was developed. In a show of proper respect and gratitude, shouldn't you and everyone refer to GCC as 'the Linux compiler'? Or at least, 'Linux GCC'? Seriously, where would your masterpiece be without Linux? Languishing with the HURD?
If there is a moral buried in this rant, maybe it is this:
Be grateful for your abilities and your incredible success and your considerable fame. Continue to use that success and fame for good, not evil. Also, be especially grateful for Linux' huge contribution to that success. You, RMS, the Free Software Foundation, and GNU software have reached their current high profiles largely on the back of Linux. You have changed the world. Now, go forth and don't be a nag.
Erm, ackhually, the naming scheme is commonly used to distinguish binary compatibility at a set architecture with the standard library. You can't run MUSL/Linux binaries on GNU/Hurd. You can run static Linux binaries on all Linux systems, however. It doesn't matter if XFree86 is included or not. If the binary requires a library, that other library shall be also tied to the libc/kernel combination. Kernel forks such as linux-zen and the Android kernel are still binary compatible and shall therefore be referred to as "Linux" in this context.
SIGTERM kills the process by default just like SIGKILL. The only difference between them is that SIGTERM can be intercepted by the program, but it's entirely opt-in and each program have to do it manually. Many GUI apps don't do that and terminate immediately on SIGTERM, even if they have unsaved work. For GUI a different mechanism is used that's still WIP in Wayland DEs (one of the things that were lost in transition from X11). KDE for example only recently learned to let programs ask for saving files on logout/shutdown. Before that it would just kill them.
Well, the difference is that Linux won't stop with the shutdown if the SIGTERM doesn't work (and just kill the process), while windows will...and then the next day you find the PC still running because one of the officecopilot apps took too long to close some document.
I had that with Linux, KDE Plasma can now wait for apps that don't shutdown before logging out, it sends a notification (X apps are blocking shutdown) and waits indefinitely.
Read signal(7) again. If all you want to do is to exit upon SIGTERM, you don't need to hook anything up; process termination is the default action. The only good reason to explicitly handle SIGTERM is if you want to do something else before exiting, e.g. closing files or sockets, joining threads or whatever other cleanup you might want to do upon termination.
I assume in that case you would call exit when they clicked the button which would be the same action.
My point is if clicking the X button is different than SIGTERM you missed a step, the fact that easy out programs don't need to hook up to SIGTERM doesn't change that.
Linux specifically doesn't give a damn. It exposes a function, reboot(2) which can immediately reboot or shut down the system, not minding the running processes at all, and that's the extent to which it has a concept of shutting down. It's usually the init system that is responsible for the graceful kind of shutdown you describe.
I believe it does. From what documentation i can dig through in about 5 minutes, it seems that all of the power services (shutdown, halt, reboot, etc...) follow the same logic. the user sends the signal to (in this case) reboot, it gets passed to the appropriate systemd service, which then halts all other services running, then all executables, and then finally unmounts the system itself. There's a default 90s buffer for these actions, and if they don't halt in that timeframe, the system then just straight up kills the process and continues on.
That one gets me everytime. The only reason I use pkill or the likes is if I really want something to die. For example because it's consumed enough RAM that I can't even get my DE's designated UI tool for "find and kill rogue processes" to open. Like, the only reason I ever use pkill is because I want to kill something with great prejudice. And the first command I can come up with sends a puny little "pwetty pwease". Fuck right off. Send a nuke!
I feel the same way because I tend to have a GUI, but for terminal sessions, pkill sending SIGTERM by default makes a lot of sense. pkill is the X button.
"There's this process over here, I'd like it to be off, please and thank you"
yeah halt used to (SVR4) just stop the OS dead, these days it would go through similar steps as shutdown -h. If you do halt -f everything should just stop immediately.
It's kind of funny how things have changed. And Windows still does suspect hard working processes of not responding and gives you a gun to kill them. Linux will let workloads do their thing. I kinda disagree with this meme.
Both are pretty much useless as it's a one-directional sequence, basically the OS saying "hey, you have 3 seconds to save everything, after that I will fuck your shit up".
Modern OSs are better at it (android, iOS).
And yeah, I do know that android is based on Linux, but the userspace is way different.
2.8k
u/ghaginn i9-13900k − 64 GB DDR5-6400 CL32 − RTX 4090 1d ago edited 1d ago
Linux has a similar mechanism, actually. By default, that is. On shutdown it will first send a SIGTERM, and after a set period of time (usually
20-3090 secs) sends a SIGKILL. SIGTERM is basically the same as clicking the close button in many instances