I have read from the Modern Operating systems book that when a command is run, the shell creates a child process, waits for it until the child has finished execution and then waits for another command from the user. This is indeed the case for many programs like gedit
. The terminal doesn't take commands until I have closed gedit
. However when I open atom code editor, the shell returns immediately, ready to accept the next command even with the editor running. Closing the terminal does not close atom. Does this mean that the editor opened not as a child process? What is the underlying mechanism that makes this possible?
Running ps au | grep atom
gives
<username> 8042 0.0 0.0 15944 2264 pts/1 S+ 00:55 0:00 grep --color=auto atom
ps au | grep atom
in terminal and add output to your question?