• Dandroid@dandroid.app
      link
      fedilink
      arrow-up
      49
      ·
      11 months ago

      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.”

      • oce 🐆@jlai.lu
        link
        fedilink
        arrow-up
        9
        ·
        11 months ago

        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.

        • Dandroid@dandroid.app
          link
          fedilink
          arrow-up
          5
          ·
          11 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.

      • barsoap@lemm.ee
        link
        fedilink
        arrow-up
        4
        ·
        edit-2
        11 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.

      • jaybone@lemmy.world
        link
        fedilink
        arrow-up
        3
        ·
        11 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.

      • SorryQuick@lemmy.ca
        link
        fedilink
        arrow-up
        2
        ·
        11 months ago

        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.

        • Dandroid@dandroid.app
          link
          fedilink
          arrow-up
          2
          ·
          edit-2
          11 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