title: How does a program "sit and wait" for an input while the program is running? (Conceptually)
body: <p>I am trying to understand conceptually how any program is &quot;watching to&quot; or &quot;waiting for&quot; user input while running and continues to run after input was given... or even, what does it mean &quot;the program is running&quot;.
  What does make the program sit and wait and not end the execution when the computer reads all lines of instructions? Is there a set of infinite loops that are waiting for some specific inputs?</p>
  <p>I am a web developer (but I didn't study at a technical university) and I guess this concept is a pretty low level in informatics but I think it's very important for any kind of software developer to get better intuition in this topic.</p>