title: Batch fork bomb?
body: <p>I was looking at the fork bomb on Wikipedia, and the batch examples were: </p>
  
  <pre><code>%0|%0
  </code></pre>
  
  <p>OR</p>
  
  <pre><code>:here
  start ''your fork bomb name''.bat
  goto here
  </code></pre>
  
  <p>OR</p>
  
  <pre><code>:here
  start %0
  goto here
  </code></pre>
  
  <p>I understand the second two, they start another instance of themselves and then repeat, but I don't understand the first. I read that the pipeline executes the file to the right with the output of the file to the left. Why can't the fork bomb just be:</p>
  
  <pre><code>%0
  </code></pre>
  
  <p>I would assume that this would call itself, but then terminate instantly, but why wouldn't <code>%0|%0</code> also terminate? Even though the new instance is going to keep making new instances, isn't the first done after starting the second? What makes the first one continue? </p>
  
  <p>edit: Does it loop because none of the instances can terminate until their recursive call is returned? Does this mean it only ever calls the first <code>%0</code>?</p>