2 questions:
1) Is there any Linux/Posix API to know if a process has been invoked as a background process?
linux> myprogram &
Can the code for myprogram
detect that it has been invoked to run in the background (via &
) ?
2) Is there any Linux/Posix API to make a process run in the background even if it has been started as a foreground process? I.E. somehow 'detach' from the shell at runtime.. (either detach itself from the shell completely, or run as a background process of the shell).
linux> myprogram
**** starting myprogram as a background job ****
linux>
The shell prompt should come right back to me since myprogram
has detached from the shell and is running in the background