• Scoopta@programming.dev
    link
    fedilink
    arrow-up
    1
    ·
    5 months 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
      1
      ·
      5 months 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.

  • da_cow (she/her)@feddit.org
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    5 months 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.