If a process is spawned from the user level, then yes, a userlevel
background process is the only one which is not attached to the parent
under normal operation.
But there can be exceptions that you can think of. For instance the
INIT_PROCESS, i.e. the first process to get fired up on the system is
starts off "detached". It is the shell.exe in our case.
Kernel threads can starts off detached if the kernel chooses to make them
that way.
In the presence of kills, you can imagine killing the parent which would
leave the children detached.
So, in short, when starting up at the user level, only background
processes (and their children) start off as detached. But in the steady
state (after kills etc) you can have other processes that have been
detached.
On Mon, 12 Sep 2005, cs412017 wrote:
| Are background processes the only kinds of processes that can have
| threads that have no owner (or in other words are detached from their
| parent)? Or are there processes that are not necessarily background
| processes that have no owner?
|