Yes yes, I REALLY want to terminate that process and I am very sure about it too, ty.

  • Björn Tantau@swg-empire.de
    link
    fedilink
    arrow-up
    174
    arrow-down
    3
    ·
    27 days ago

    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.

    • neidu2@feddit.nl
      link
      fedilink
      arrow-up
      31
      ·
      27 days ago

      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.

    • WhyJiffie@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      17
      arrow-down
      1
      ·
      edit-2
      27 days ago

      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.

      • zea@lemmy.blahaj.zone
        link
        fedilink
        arrow-up
        28
        ·
        27 days ago

        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.

      • Björn Tantau@swg-empire.de
        link
        fedilink
        arrow-up
        13
        ·
        edit-2
        27 days ago

        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.

        • WhyJiffie@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          3
          ·
          27 days ago

          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.

        • greyfox@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          27 days ago

          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.

    • BonerMan@ani.social
      link
      fedilink
      arrow-up
      10
      arrow-down
      1
      ·
      27 days ago

      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.

      • pinkystew@reddthat.com
        link
        fedilink
        English
        arrow-up
        16
        arrow-down
        1
        ·
        27 days ago

        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.

      • Björn Tantau@swg-empire.de
        link
        fedilink
        arrow-up
        7
        ·
        27 days ago

        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
        
      • linearchaos@lemmy.world
        link
        fedilink
        English
        arrow-up
        14
        ·
        27 days ago

        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.

  • mlg@lemmy.world
    link
    fedilink
    English
    arrow-up
    47
    arrow-down
    1
    ·
    27 days ago

    Actually no, it’s just that the programs on Linux usually accept SIGINT, SIGTERM, etc pretty gracefully. Some are even smart enough to handle it on a thread hang. SIGKILL is last resort.

    Lots of Windows applications like to ignore the close request because Windows doesn’t have signals and instead you can only pass a window name to request exit which is the same as clicking the close button.

    So any hung software won’t respond and you have to terminate it.

  • ArbitraryValue@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    44
    arrow-down
    1
    ·
    27 days ago

    My problem with Windows is that when I want to eject a USB drive, Windows refuses to do so, refuses to tell me what program is apparently still using the drive, and certainly refuses to kill that program. I am removing the drive. I can’t just not remove it!

  • katy ✨@lemmy.blahaj.zone
    link
    fedilink
    arrow-up
    23
    arrow-down
    4
    ·
    27 days ago

    you forgot that you have to spend about 2 minutes with windows “searching for a solution” (who knows what that does??) and then another minute reporting it to microsoft

  • Xylight@lemdro.id
    link
    fedilink
    English
    arrow-up
    11
    arrow-down
    1
    ·
    27 days ago

    both OS ask a process to end nicely? Then force closing in windows is with task manager or kill -9 in linux

  • mkwt@lemmy.world
    link
    fedilink
    arrow-up
    10
    ·
    27 days ago

    TerminateProcess() is pretty reliable, but it doesn’t form part of the C signals stack on Windows like kill -9. So for instance, if you’re doing process control on Python, you need to use a special Windows-only API to access TerminateProcess().

      • mkwt@lemmy.world
        link
        fedilink
        arrow-up
        3
        ·
        27 days ago

        Kill -9 is a command on Unix and Linux to send signal 9 (SIGKILL) to a process. That’s the version of kill that is the most reliable and has immediate effect.

        Taskkill is a Windows command line program. I believe that taskkill /f uses the TerminateProcess() API. This is more forceful than the End Task button on the Task Manager. There is a different End Process button on the Task Manager that does use TerminateProcess().

        • LifeInMultipleChoice@lemmy.dbzer0.com
          link
          fedilink
          English
          arrow-up
          1
          ·
          27 days ago

          Is the 9 pertaining to permissions like chmod uses them? I’ll have to look it up sometime. Been awhile since I’ve ever actually needed to force quit something in a Linux os

            • LifeInMultipleChoice@lemmy.dbzer0.com
              link
              fedilink
              English
              arrow-up
              2
              ·
              edit-2
              27 days ago

              Thanks for that, I’ll have a ganter. Need to spin up a new VM soon and figure out a new distro to play with. Been slacking on exploring new things. Mostly only played with Yellow dog (small enough to dual boot on a PS3 with 512mb of ram back in the day), Ubuntu, Debian for other things. Likely will look for something that will work well for a media server.

              • 0xD@infosec.pub
                link
                fedilink
                arrow-up
                2
                ·
                edit-2
                27 days ago

                Have fun exploring! I just have a simple Raspberry Pi at home with a few services, after working with this stuff all the time I rarely feel like tinkering at home :D

  • Magister@lemmy.world
    link
    fedilink
    arrow-up
    9
    ·
    edit-2
    27 days ago

    mainly wrong, by default kill send a SIGTERM, you can try SIGINT or SIGQUIT too, and in the end SIGKILL of course. Same in windows there is different way

        • Zozano@lemy.lol
          link
          fedilink
          English
          arrow-up
          8
          ·
          edit-2
          27 days ago

          I don’t know if you heard, but the Nvidia issues are solved (mostly).

          The issue most people had was with Explicit Sync, which was patched in the proprietary Nvidia driver 555 which is upstream on most distros.

      • Fushuan [he/him]@lemm.ee
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        27 days ago

        Open the process list in your system monitor of choice, right click, signal, sigkill.

        You can also open a monitor and use top or any variant to detect the process number and manually kill -KILL number

        • Zozano@lemy.lol
          link
          fedilink
          English
          arrow-up
          2
          ·
          27 days ago

          I really want the convenience of binding xkill to a key, which I can use to double tap programs like the undead zombie they’ve become.

          • Fushuan [he/him]@lemm.ee
            link
            fedilink
            English
            arrow-up
            4
            ·
            27 days ago

            Dunno, create a script that uses a program to get the process number of the current active window or the window the mouse is hovering, and then kill that? Bind that script inor a key with whatever program and voilá.

            It’s more involved sure but there’s your option.

              • Hawk@lemmynsfw.com
                link
                fedilink
                arrow-up
                2
                ·
                27 days ago

                What’s your desktop environment? I’m pretty sure hyperland and sway will give a json output of open Windows.

                You could parse that with jq and pipe it into fzf or dmenu?

                Not quite the same as the clicking but probably just as quick.

              • Fushuan [he/him]@lemm.ee
                link
                fedilink
                English
                arrow-up
                1
                ·
                27 days ago

                Get learning lol. I know that there’s some command line program that gives process info on mouse hover and then that can be parsed with awk to get the pid, then pipe that again into kill -kill. Then use xbindkeys or whatever keybindings program to bind that script to a key.

                Tbh. For involved stuff like this chatgpt will help you more than stackoverflow.

  • MajinBlayze@lemmy.world
    link
    fedilink
    arrow-up
    8
    ·
    27 days ago

    I feel like I’ve had the opposite experience in the gui (maybe a KDE issue?) closing gui windows frequently lock up, and I find I frequently have to drop to the command line in order to properly kill some programs

    • Fushuan [he/him]@lemm.ee
      link
      fedilink
      English
      arrow-up
      2
      ·
      27 days ago

      That’s because the end proces of the GUI sends a sigint, which does jack shit if the program hangs, you only archieve for a higher parent process to obtain it until it can off itself gracefully. You need to right click the process and send a sigkill signal to emulate the command line.