• Delta_V@lemmy.world
    link
    fedilink
    English
    arrow-up
    142
    arrow-down
    1
    ·
    2 days ago

    This is a Bash fork bomb, a malicious function definition that recursively calls itself:

    :() — defines a function named : (yes, just a colon).
    
    { [:|:&] } — the function's body:
    
        :|: — pipes the output of the function into another call of itself, creating two processes each time.
    
        & — runs the call in the background, meaning it doesn’t wait for completion.
    
    ; — ends the function definition.
    
    : — finally, this invokes the function once, starting the bomb.
    
    • celeste@feddit.org
      link
      fedilink
      English
      arrow-up
      13
      ·
      2 days ago

      thx, I think I get it, it’s do it’s as many processes as your computer will run until it crashes

      • Peruvian_Skies@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        4
        ·
        1 day ago

        There aren’t any square brackets.

        The form “function(){content}” in bash defines a function called “function” that, when called by name, executes “content”. This forkbomb defines a function called : (just a colon) which calls itself twice in a new subprocess (the two colons inside the curly brackets). It thus spawns more and more copies of itself until it overwhelms your processor.

      • Delta_V@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 day ago

        because I didn’t know what it did either, then made a typo in the ChatGPT prompt when asking about it