summaryrefslogtreecommitdiffstats
path: root/src/processmanager/doc/src/processinfo.qdoc
blob: 1cb7ff078a9c6aa8b1e5e6658df938e5ab41499b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
/****************************************************************************
**
** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
**
** This file is part of the QtAddOn.JsonStream module of the Qt.
**
** $QT_BEGIN_LICENSE:FDL$
** GNU Free Documentation License Usage
** This file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of
** this file. Please review the following information to ensure
** the GNU Free Documentation License version 1.3 requirements
** will be met: http://www.gnu.org/copyleft/fdl.html.
** $QT_END_LICENSE$
**
****************************************************************************/

/*!

\page understandprocessinfo.html
\previouspage Introduction
\contentspage {Understanding QProcessInfo} {Contents}
\nextpage Backend Process Manager

\title Understanding QProcessInfo

An individual Unix process has a large number of properties that can be
set upon process creation.  The QProcessInfo object is a lightweight wrapper
for a QVariantMap containing the more common properties including:

\list
  \li Common name assigned to the object.  This name is used when creating
     a process identifier.
  \li Application to execute
  \li Arguments to pass on the command line
  \li Working directory
  \li User ID (UID) and Group ID (GID)
  \li Environment variables
  \li Linux-specific \l {http://linux.die.net/man/7/capabilities} {capabilities}
  \li Linux-specific \l
     {http://www.kernel.org/doc/Documentation/cgroups/cgroups.txt}
     {cgroups}
  \li The priority level of the process (agents run at lower priority levels)
  \li The OOM killer adjustment score (ranges from -1000 to +1000)
     \l {http://www.kernel.org/doc/Documentation/filesystems/proc.txt} {[/proc/<pid>/oom_score_adj]}
  \li Output text patterns to match to determing if the process has finished initializing.
  \li Other machine-specific ways of limiting process
     memory/CPU/resource use.
\endlist

The QProcessInfo object provides accessor functions for accessing the
more common properties along with named string constants.  Because it is
based on a QVariantMap, additional properties can be easily added to the
structure.  From C++ code, a QProcessInfo object is typically created as follows:

\code
  QProcessInfo info;
  info.setName("myprocess");
  info.setProgram("/bin/ls");
  info.setWorkingDirectory("/root");
\endcode

*/