this post was submitted on 18 Jan 2024
1055 points (97.7% liked)

Comic Strips

12577 readers
4079 users here now

Comic Strips is a community for those who love comic stories.

The rules are simple:

Web of links

founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 49 points 10 months ago (4 children)

It can be really dangerous for some programs. I don't know too much about Windows, but in Linux, if we try to close a program once, it sends SIGTERM (or SIGINT, I can't remember right now), which basically asks your program to stop. You program can receive that signal and finish things up and exit cleanly. But if your program is deadlocked and can't handle that right now, closing the program again sends it a SIGKILL, which is basically the OS saying, "Get fucked. You're done whether you like it or not."

[–] [email protected] 8 points 10 months ago (1 children)

It's not dangerous for programs, it's dangerous for files it may be editing, like not writing some ending characters that leaves the file in a state that cannot be opened by some applications.

[–] [email protected] 5 points 10 months ago

I didn't mean the programs were in danger. When this is done to some programs, it can cause bad things to happen to your computer.

[–] [email protected] 3 points 10 months ago* (last edited 10 months ago)

which is basically the OS saying, “Get fucked. You’re done whether you like it or not.”

Nah, the OS is not really saying anything. Definitely not to the program. It's more of a 1984 shot in the back of your head while you walk down a corridor kind of situation. Also it's not a gun your bits just vanish in the ether. Then it sends a death certificate to the parent, without further explanation.

Side note: Have you ever used killall? Was the standard way to send signals by name instead of PID before pkill. I found out the hard way that it does something rather different on other Unices.

[–] [email protected] 3 points 10 months ago

In your application code, you install signal handlers that better shut your application down when the OS asks you to do so. If your application is hogging resources so hard that it can’t shut down without corrupting files it has opened, then fuck your application. There is a reason the OS (or some user) is sending you that signal.

[–] [email protected] 2 points 10 months ago (1 children)

That depends how you “try to close the program”. Top/htop/btop often SIGKILL by default. As for closing it legitimately, it depends on your WM and xorg vs wayland. On my DWM setup, I have a keybind for a graceful shutdown and one for SIGKILL.

[–] [email protected] 2 points 10 months ago* (last edited 10 months ago)

Yes, I intentionally didn't want to provide too many details, as I thought it would just be confusing for someone who doesn't already have a lot of background knowledge on the subject.

But specifically, I was talking about command line programs and ending them with Ctrl-C