• NeatNit@discuss.tchncs.de
    link
    fedilink
    arrow-up
    21
    ·
    1 hour ago

    Stop spreading this lie. Linux has a more graceful shutdown process than Windows ever did. It doesn’t abruptly kill everything.

  • da_cow (she/her)@feddit.org
    link
    fedilink
    arrow-up
    6
    ·
    edit-2
    9 minutes ago

    While the meme is very funny, it is technically incorrect. Linux has two major ways of terminating a process. When Linux wants a process to terminate execution (for whatever reason) it first sends the SIGTERM signal to the process, which basically “asks” the process to terminate itself. This has the advantage, that the process gets the chance to save its state in a way, that the execution can continue at another time. If the process however ignores the SIGTERM signal at some point Linux will instead forcefully terminate the execution using the SIGKILL signal. This represents what the image shows.

    Before someone gets mat at me: I know, that there are like 50 more Signals relevant to this, but wanted to keep it simple.

  • Shanmugha@lemmy.world
    link
    fedilink
    arrow-up
    17
    ·
    3 hours ago

    Windows:

    • program refuses to shutdown
    • system: okay, guess you don’t need your computer to turn off anyway
    • JelleWho@lemmy.world
      link
      fedilink
      arrow-up
      3
      ·
      18 minutes ago

      There is a windows registry hack to set the shutdown wait time for 1s and that did fix it for me. But every update they turn it back to unlimited.

      (I ended up installing Linux, I only have the dnf5daemon server holding the shutdown up for atnost 5min now. But I haven’t tried to fix it)

      • Shanmugha@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        8 minutes ago

        Which is why in my Windows days I got a habit of turning computer off with Windows + R --> shutdown -s -f -t 0

        Windows just works, my ass :)

  • 1984@lemmy.today
    link
    fedilink
    arrow-up
    12
    arrow-down
    1
    ·
    3 hours ago

    I mean, also look at how windows installs programs. Its like a 100 step process taking several minutes, because just putting the files where they need to be is just too simple.

    Or the uninstall program, cant just remove the files, no… Need to run full installer backwards to remove all the registry entries and even reboot the system to get rid of it all.

    • FishFace@piefed.social
      link
      fedilink
      English
      arrow-up
      3
      ·
      54 minutes ago

      Uninstallation on Linux needs to do the equivalent of removing registry entries (settings) as well. Neither prices typically takes long. Windows does require more reboots, but you can typically get away without rebooting still.

    • Victor@lemmy.world
      link
      fedilink
      arrow-up
      7
      ·
      2 hours ago

      One of the actual (many) reasons that drove me from Windows. Over the years it became so dirty to have so many old files and registry entries that were abandoned by their respective uninstallers that I became wary of installing anything at all, and that’s not the feeling I want with my personal computer.

  • Rolivers@discuss.tchncs.de
    link
    fedilink
    English
    arrow-up
    14
    ·
    3 hours ago

    Windows task manager:

    Let’s play a whack a mole game where the app you’re trying to kill constantly moves up and down a list by default! Enjoy!

  • PacMan@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    2
    ·
    2 hours ago

    I killed-9 but if I’m done I’m done and just calling a hard soft reboot with REISUB and if you know you know

  • jet@hackertalks.com
    link
    fedilink
    English
    arrow-up
    47
    arrow-down
    2
    ·
    5 hours ago

    Graceful like closing a laptop and putting it in a backpack only to have windows refuse to shutdown and become a heater until it cooks the battery and ruins the screen…

      • Allero@lemmy.today
        link
        fedilink
        arrow-up
        2
        ·
        2 hours ago

        I once accidentally unmounted the system drive. You know what? Aside from some crash messages and a lost battery indicator, the system just kept going.

        I finished my Zoom call just fine, finished what I needed to do real quick and then rebooted.

        It all went back and was just fine.

        • da_cow (she/her)@feddit.org
          link
          fedilink
          arrow-up
          2
          ·
          edit-2
          9 minutes ago

          A friend of mine has a Laptop, where you can easily pull out out the hard drive while the OS is running. We once did that and it worked kinda fine. After plugging the hard drive back in it continued to run like before.

  • Scoopta@programming.dev
    link
    fedilink
    arrow-up
    164
    arrow-down
    6
    ·
    9 hours ago

    Ironically it’s actually the opposite. Linux has signals, and with the exception of SIGKILL and I think SIGABRT they can all be handled gracefully. Windows on the other hand doesn’t have signals, it can only TerminateProcess() which is forceful. The illusion of graceful termination on windows is done by sending a Window close message to all of the windows belonging to a given process, however in the event the process has no windows, only forceful termination is available due to the lack of a real mechanism to gracefully terminate processes. That’s why the taskkill command tells you a process requires forceful termination when you run it against something headless.

    • mkwt@lemmy.world
      link
      fedilink
      arrow-up
      66
      ·
      9 hours ago

      Windows does, in fact, have signals. They’re just not all the same as Unix signals, and the behavior is different. Here’s a write-up.

      You’re correct there is no “please terminate but you don’t have to” signal in Windows. Windowless processes sometimes make up their own nonstandard events to implement the functionality. As you mentioned, windowed processes have WM_CLOSE.

      Memory access violations (akin to SIGSEGV), and other system exceptions can be handled through Structured Exception Handling.

      • Scoopta@programming.dev
        link
        fedilink
        arrow-up
        9
        ·
        9 hours ago

        TIL about the console signaling stuff, good to know. I am aware of SEH but that seemed a little too in the weeds for this discussion since that’s as you say akin to SIGSEGV

        • marcos@lemmy.world
          link
          fedilink
          arrow-up
          8
          ·
          7 hours ago

          The NT kernel was all built to emulate object orientation (read Smalltalk, not C++) style message passing. That’s because it was the 90s, and it’s the new technology kernel.

          So yeah, expect everything to have more flexibility sending data around, and no standardization at all so you can’t have any generic functionality.

    • Rhaedas@fedia.io
      link
      fedilink
      arrow-up
      10
      arrow-down
      2
      ·
      9 hours ago

      It also means the OS is in total control of the things it’s running. This goes for running programs, shutting down, and crashing. The only crashes I have on my Linux are when I use up memory, and I’m still convinced that even though everything looks seized up, if I left it for hours or days it would probably end up resolving itself. I’ve had some cases where the OS saw the program wasn’t going in a good direction fast enough and killed it.

      • SaharaMaleikuhm@feddit.org
        link
        fedilink
        arrow-up
        1
        ·
        3 hours ago

        Most linux systems have two OOM killers, one in the kernel that will execute as a last resort when your system is already frozen up, and one in systemd that should run earlier to prevent your system from freezing up. That one works sometimes, I think it does an okay job actually.

    • xan1242@lemmy.dbzer0.com
      link
      fedilink
      arrow-up
      2
      arrow-down
      1
      ·
      9 hours ago

      Plus, if something seemingly can’t be terminated with that, 99% of the time it’s a kernel level lockup (e.g. disk IO). At which point you only have 2 options: kill it via a kernel debugger or (the more likely scenario) perform a reboot.

  • BeigeAgenda@lemmy.ca
    link
    fedilink
    arrow-up
    9
    arrow-down
    1
    ·
    6 hours ago

    In Linux you get zombie processes hanging around when things go wrong, and you can’t get rid of those.

      • Shanmugha@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        3 hours ago

        they can be automatically moved to have parent 1 or something like that, so only way to kill them is a reboot. But personally I am yet to setup a stationary (uh, not a laptop) computer and see how it works for me without poweroff at the end of the day

        • asret@lemmy.zip
          link
          fedilink
          arrow-up
          3
          ·
          2 hours ago

          They get moved to the init process (parent 1) if their original parent dies. The init process should always wait on its child processes so they’ll get cleaned up then. No reboot needed.

          Once they’re zombies all they really exist for is to return an exit code for their parent - they’re no longer running.

      • webghost0101@sopuli.xyz
        link
        fedilink
        arrow-up
        3
        ·
        3 hours ago

        Zombies are getting to be parents now?

        Woke has gone too far, in my day they would have gotten a bullet between the eyes.

      • cm0002@infosec.pubOP
        link
        fedilink
        arrow-up
        4
        arrow-down
        9
        ·
        6 hours ago

        I kind of love it though it’s like tje fine wine of the internet getting worse and worse yet better and better with time.

        Each repost adds another layer of artifact and grit until you can barely make out what the original even meant. It’s been screenshotted and cropped and saved and shared, on Facebook and Reddit and Xitter who cared? From phone to phone and site to site the pixels crumble day and night!

        The colors fade, the text grows blurry, reposted fast, reposted hurry! Through Discord servers, Instagram feeds and Fedi-instance’s it spreads like mold, like digital weeds! One hundred times! One thousand more! The quality drops right through the floor! And yet we laugh and yet we share this crusty meme beyond repair!

        So let it crumble, let it fray, this meme will live another day. For in its crust we find the truth, the internet’s eternal youth!

        • Quibblekrust@thelemmy.club
          link
          fedilink
          English
          arrow-up
          8
          ·
          4 hours ago

          The image’s content is plain wrong. Waxing poetic about JPEG artifacts doesn’t make this image any more interesting or funny. It’s just dumb.

  • GregorGizeh@lemmy.zip
    link
    fedilink
    arrow-up
    3
    arrow-down
    3
    ·
    8 hours ago

    In my experience it is more the reverse is true. If a program truly craps out on me in windows i could at least get the task manager to show / use it to terminate the offender or reboot, at least back when i still used it.

    Meanwhile my bazzite task manager is notably not a native part of the OS and takes a few seconds to load, and if the system is in some sort of frozen screen state my only real recourse is hitting the physical force reboot button. The windows manager could sometimes recover from those.

    Overall it is of course a much better experience compared to Windows regardless, but still. Everything being essentially modular pieces compiled into a system can evidently also have minor downsides.

    • da_cow (she/her)@feddit.org
      link
      fedilink
      arrow-up
      1
      ·
      10 minutes ago

      While it is 100% understandable, that the lack of a graphical task manager is annoying, you are not completely without options. If you want to terminate a process you can easily type pkill -f process_name into your console. The process name doesn’t even have to be exact with the process name (as example the process name is signasignal_desktop, providing signal to the command would be enough to kill it).

    • Allero@lemmy.today
      link
      fedilink
      arrow-up
      1
      ·
      2 hours ago

      Honestly, yes.

      Linux lacks a native Task manager, and this is one of the “death by a thousand cuts” roadblocks that prevent its adoption.

      A user must be able to launch a graphical tool to manage processes even if everything else froze. That’s just basic usability.

      Can it be currently resolved with a terminal? Yes. Should it be resolved with a terminal? No.

    • andyburke@fedia.io
      link
      fedilink
      arrow-up
      6
      ·
      6 hours ago

      ctrl-alt-f2 (or f3, f4)

      this should switch away from graphical mode to a terminal.

      log in kill whatever needs killin’

    • folekaule@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      6 hours ago

      I have recovered many times from a broken window session in Linux by switching to a console with ctrl-alt-fN, logging in, and either killing the offending program or just rebooting gracefully.

      In Windows my last resort before the nuclear power button is Task Manager with ctrl-esc or ctrl-alt-delete.