The Process Management system is responsible for launching; maintaining
running Qtopia system programs, especially those designed to provide services or execute
in the background; and for cleanly terminating them. It also provides security context,
socket access, and logging/debugging support.
The Process Management system manages the lifecycle of Qtopia programs, especially those which do
not follow the pattern of a typical user-initiated GUI application.
Current examples of such "daemon" programs in Qtopia are:
qpe
quicklauncher
sipagent
helixplayer
security_monitor
pppd
cardmonitor (customer supplied)
The system manages the startup and shutdown of Qtopia, outside
of those programs initiated by the user at the qpe launcher interface.
Daemon and similar programs must be started up at the correct time; restarted
if necessary after a crash, shutdown or "HUP"; and their status and resource
use requires management.
Programs may be scheduled to only start at the time required, and/or in response to
some system event or service request.
Additionally the system allows programs that logically function as daemons to be written
as conventional unix programs, sending and receiving on stdin/stdout, and not "self-backgrounding".
Access to privileged resources such as sockets can be managed by the system allowing a
much stronger security model.
See this excellent article on Unix Daemon design