i9S9i

                fork() may seem strange at first,
                that's because it is a bit strange!

                https://usfca.instructure.com/courses
                /1298668/pages/unix-system-calls

## PROCESS MANAGEMENT


## in Bash{1}:

  & -- run job in background
  ^Z -- suspend job
  jobs -- list job
  bg +1
  fg +1
  kill %2

  ps
  top

To get documentation for shell built-ins, you can check the manpage of bash or use the help command (which is a built-in command){2}


## in Powershell {3}:

  Start-Process notepad
  Stop-Process -name notepad

Create job in traditional way

  Ping -t www.bing.com

You will find the screen will continue generates output forever. Now let us create it at background instead

  Start-Job -Name pingjob -ScriptBlock { Ping -t www.bing.com }

Now the command can return immediately and print nothing. Let's create another job at background

  Start-Job -Name anotherjob -ScriptBlock { Start-Sleep -Seconds 30 }

Let's get the background job list

  Get-Job

You can remove job by this cmdlet

  Remove-Job -Name anotherjob

You can get job output by this cmdlet

  Receive-Job -Name pingjob


## Create sample applications.

  1. Linux GTK Hello, World {4}.

  2. Linux for Windows

    search:

    https://doublebyteblog.wordpress.com
    /2013/12/23/hello-world-cross-compiling/

    or:

    Raspbian Desktop 64-bit install (11.9.2018)
    look for essai.cpp

  3. Windows:

    SharpDevelop Hello

      http://www.icsharpcode.net/opensource/sd/Default.aspx

    or

    Raptor generate standalone

      https://raptor.martincarlisle.com/


## Links:

{1}. https://askubuntu.com/questions/613470
       /where-are-commands-fg-bg-and-jobs-installed/613477

{2}. https://www.thegeekstuff.com/2010/05/unix-background-job/

{3}. https://gallery.technet.microsoft.com
       /How-to-create-background-b2a6a8ee

{4}. https://developer.gnome.org/gtk3/stable/gtk-getting-started.html