Merge lp:~xnox/upstart/reload-signal into lp:upstart

Proposed by Dimitri John Ledkov
Status: Merged
Merged at revision: 1522
Proposed branch: lp:~xnox/upstart/reload-signal
Merge into: lp:upstart
Diff against target: 17650 lines (+17195/-157)
14 files modified
dbus/com.ubuntu.Upstart.Instance.xml (+3/-0)
init/job.c (+48/-0)
init/job.h (+2/-0)
init/job_class.c (+11/-0)
init/job_class.h (+3/-0)
init/man/init.5 (+11/-0)
init/parse_job.c (+92/-0)
init/tests/data/upstart-reload-signal.json (+16580/-0)
init/tests/test_job.c (+142/-0)
init/tests/test_job_class.c (+2/-0)
init/tests/test_parse_job.c (+211/-0)
init/tests/test_state.c (+73/-0)
util/initctl.c (+2/-13)
util/tests/test_initctl.c (+15/-144)
To merge this branch: bzr merge lp:~xnox/upstart/reload-signal
Reviewer Review Type Date Requested Status
James Hunt Approve
Dimitri John Ledkov Approve
Review via email: mp+176099@code.launchpad.net

Description of the change

This branch adds "reload signal" stanza.

Instead of initctl calling kill on the main process, it now calls an instance dbus method Reload.

Reload method, looks up reload_signal and calls kill on the main process with it.

Tests added:
* serialisation/deserialisation
* job configuration parsing
* job_reload() function in init/job.c

Broken tests:
* test_initctl reload_action test currently hangs, and thus is commented out. Help with testing it is appreciated, I guess it now needs to simply test that dbus calls are done in the right order without actually testing that signals were sent to a process, as this is now done in the job_reload() test.

To post a comment you must log in.
Revision history for this message
James Hunt (jamesodhunt) wrote :

Hi Dmitrijs,

Initial comments:

* init/job.c: job_reload(): Unused variable blocked.
* init/man/init.5: Needs update for 'reload' stanza.
* init/tests/test_state.c: We need a new test + json file that includes the new encoded reload signal.
* tests/test_job.c: Unused variables dbus_error, error and blocked.

I'll take a look at the broken test later today hopefully...

Revision history for this message
James Hunt (jamesodhunt) wrote :

The test hang appears to be caused because the tests fake the dbus server responses from pid 1. However, with the new API, we would also need to either:

1) Fake the call to job_reload().
2) Call job_reload() explicitly.
3) Change the test to actually fire up an upstart instance to avoid faking anything.

Option (3) is preferred of course, but since test_job.c:test_reload() is already doing (3), it should be sufficient to simply test the client is making the correct type of request over D-Bus for test_initctl.c.

lp:~xnox/upstart/reload-signal updated
1514. By Dimitri John Ledkov

Do not hang with waitid call waiting for SIGHUP on the child process.

The mock dbus server, doesn't actually call job_reload and thus SIGHUP
is not set to the process under test. It's ok to not test this here,
since sending signals & checking them is otherwise tested in
job_reload's harness.

1515. By Dimitri John Ledkov

Unused vars

Revision history for this message
Dimitri John Ledkov (xnox) wrote :

Thanks a lot. Updated, with tests passing now. Please consider merging this =)

review: Approve
Revision history for this message
James Hunt (jamesodhunt) wrote :

Looks good. However, please can you update init/man/init.5 to document this new stanza.

lp:~xnox/upstart/reload-signal updated
1516. By Dimitri John Ledkov

Update manpage

Revision history for this message
James Hunt (jamesodhunt) wrote :

Last tweak - I think we should add an explicit upgrade test data file that contains "reload_signal" in the JSON.

review: Approve
lp:~xnox/upstart/reload-signal updated
1517. By Dimitri John Ledkov

Pull updates

1518. By Dimitri John Ledkov

Tests

Revision history for this message
Dimitri John Ledkov (xnox) wrote :

Pushed upgrade / serialisation test.

lp:~xnox/upstart/reload-signal updated
1519. By Dimitri John Ledkov

And add the actual json file...

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'dbus/com.ubuntu.Upstart.Instance.xml'
--- dbus/com.ubuntu.Upstart.Instance.xml 2010-12-14 15:32:41 +0000
+++ dbus/com.ubuntu.Upstart.Instance.xml 2013-08-22 19:52:35 +0000
@@ -35,6 +35,9 @@
35 <annotation name="com.netsplit.Nih.Method.Async" value="true" />35 <annotation name="com.netsplit.Nih.Method.Async" value="true" />
36 <arg name="wait" type="b" direction="in" />36 <arg name="wait" type="b" direction="in" />
37 </method>37 </method>
38 <method name="Reload">
39 <annotation name="com.netsplit.Nih.Method.Async" value="true" />
40 </method>
3841
39 <signal name="GoalChanged">42 <signal name="GoalChanged">
40 <arg name="goal" type="s" />43 <arg name="goal" type="s" />
4144
=== modified file 'init/job.c'
--- init/job.c 2013-05-29 10:36:36 +0000
+++ init/job.c 2013-08-22 19:52:35 +0000
@@ -1397,6 +1397,54 @@
13971397
13981398
1399/**1399/**
1400 * job_reload:
1401 * @job: job to reload,
1402 * @message: D-Bus connection and message received,
1403 *
1404 * Implements the Reload method of the com.ubuntu.Upstart.Instance
1405 * interface.
1406 *
1407 * Called on a running instance @job to reload.
1408 *
1409 * Returns: zero on success, negative value on raised error.
1410 **/
1411int
1412job_reload (Job *job,
1413 NihDBusMessage *message)
1414{
1415 Session *session;
1416
1417 nih_assert (job != NULL);
1418 nih_assert (message != NULL);
1419
1420 /* Don't permit out-of-session modification */
1421 session = session_from_dbus (NULL, message);
1422 if (session != job->class->session) {
1423 nih_dbus_error_raise_printf (
1424 DBUS_INTERFACE_UPSTART ".Error.PermissionDenied",
1425 _("You do not have permission to modify job: %s"),
1426 job_name (job));
1427 return -1;
1428 }
1429
1430 if (job->pid[PROCESS_MAIN] <= 0) {
1431 nih_dbus_error_raise_printf (
1432 DBUS_INTERFACE_UPSTART ".Error.NotRunning",
1433 _("Job is not running: %s"),
1434 job_name (job));
1435
1436 return -1;
1437 }
1438
1439 if (kill (job->pid[PROCESS_MAIN], job->class->reload_signal) < 0)
1440 nih_return_system_error (-1);
1441
1442 NIH_ZERO (job_reload_reply (message));
1443 return 0;
1444}
1445
1446
1447/**
1400 * job_get_name:1448 * job_get_name:
1401 * @job: job to obtain name from,1449 * @job: job to obtain name from,
1402 * @message: D-Bus connection and message received,1450 * @message: D-Bus connection and message received,
14031451
=== modified file 'init/job.h'
--- init/job.h 2013-05-29 10:36:36 +0000
+++ init/job.h 2013-08-22 19:52:35 +0000
@@ -196,6 +196,8 @@
196 __attribute__ ((warn_unused_result));196 __attribute__ ((warn_unused_result));
197int job_restart (Job *job, NihDBusMessage *message, int wait)197int job_restart (Job *job, NihDBusMessage *message, int wait)
198 __attribute__ ((warn_unused_result));198 __attribute__ ((warn_unused_result));
199int job_reload (Job *job, NihDBusMessage *message)
200 __attribute__ ((warn_unused_result));
199201
200int job_get_name (Job *job, NihDBusMessage *message,202int job_get_name (Job *job, NihDBusMessage *message,
201 char **name)203 char **name)
202204
=== modified file 'init/job_class.c'
--- init/job_class.c 2013-07-16 15:47:12 +0000
+++ init/job_class.c 2013-08-22 19:52:35 +0000
@@ -342,6 +342,8 @@
342 class->kill_timeout = JOB_DEFAULT_KILL_TIMEOUT;342 class->kill_timeout = JOB_DEFAULT_KILL_TIMEOUT;
343 class->kill_signal = SIGTERM;343 class->kill_signal = SIGTERM;
344344
345 class->reload_signal = SIGHUP;
346
345 class->respawn = FALSE;347 class->respawn = FALSE;
346 class->respawn_limit = JOB_DEFAULT_RESPAWN_LIMIT;348 class->respawn_limit = JOB_DEFAULT_RESPAWN_LIMIT;
347 class->respawn_interval = JOB_DEFAULT_RESPAWN_INTERVAL;349 class->respawn_interval = JOB_DEFAULT_RESPAWN_INTERVAL;
@@ -1918,6 +1920,9 @@
1918 if (! state_set_json_int_var_from_obj (json, class, kill_signal))1920 if (! state_set_json_int_var_from_obj (json, class, kill_signal))
1919 goto error;1921 goto error;
19201922
1923 if (! state_set_json_int_var_from_obj (json, class, reload_signal))
1924 goto error;
1925
1921 if (! state_set_json_int_var_from_obj (json, class, respawn))1926 if (! state_set_json_int_var_from_obj (json, class, respawn))
1922 goto error;1927 goto error;
19231928
@@ -2218,6 +2223,12 @@
2218 if (! state_get_json_int_var_to_obj (json, class, kill_signal))2223 if (! state_get_json_int_var_to_obj (json, class, kill_signal))
2219 goto error;2224 goto error;
22202225
2226 /* reload_signal is new in upstart 1.10+ */
2227 if (json_object_object_get (json, "reload_signal")) {
2228 if (! state_get_json_int_var_to_obj (json, class, reload_signal))
2229 goto error;
2230 }
2231
2221 if (! state_get_json_int_var_to_obj (json, class, respawn))2232 if (! state_get_json_int_var_to_obj (json, class, respawn))
2222 goto error;2233 goto error;
22232234
22242235
=== modified file 'init/job_class.h'
--- init/job_class.h 2013-05-29 10:36:36 +0000
+++ init/job_class.h 2013-08-22 19:52:35 +0000
@@ -148,6 +148,7 @@
148 * @task: start requests are not unblocked until instances have finished,148 * @task: start requests are not unblocked until instances have finished,
149 * @kill_timeout: time to wait between sending TERM and KILL signals,149 * @kill_timeout: time to wait between sending TERM and KILL signals,
150 * @kill_signal: first signal to send (usually SIGTERM),150 * @kill_signal: first signal to send (usually SIGTERM),
151 * @reload_signal: reload signal to send (usually SIGHUP),
151 * @respawn: instances should be restarted if main process fails,152 * @respawn: instances should be restarted if main process fails,
152 * @respawn_limit: number of respawns in @respawn_interval that we permit,153 * @respawn_limit: number of respawns in @respawn_interval that we permit,
153 * @respawn_interval: barrier for @respawn_limit,154 * @respawn_interval: barrier for @respawn_limit,
@@ -199,6 +200,8 @@
199 time_t kill_timeout;200 time_t kill_timeout;
200 int kill_signal;201 int kill_signal;
201202
203 int reload_signal;
204
202 int respawn;205 int respawn;
203 int respawn_limit;206 int respawn_limit;
204 time_t respawn_interval;207 time_t respawn_interval;
205208
=== modified file 'init/man/init.5'
--- init/man/init.5 2013-05-31 15:57:47 +0000
+++ init/man/init.5 2013-08-22 19:52:35 +0000
@@ -960,6 +960,17 @@
960.fi960.fi
961.\"961.\"
962.TP962.TP
963.B reload signal \fISIGNAL
964Specifies the reload signal,
965.I SIGHUP
966by default, a job's main process will receive when reloading the
967running job.
968
969.nf
970reload signal USR1
971.fi
972.\"
973.TP
963.B kill timeout \fIINTERVAL974.B kill timeout \fIINTERVAL
964Specifies the interval between sending the job's main process the975Specifies the interval between sending the job's main process the
965"stopping" (see above) and976"stopping" (see above) and
966977
=== modified file 'init/parse_job.c'
--- init/parse_job.c 2013-05-15 13:21:54 +0000
+++ init/parse_job.c 2013-08-22 19:52:35 +0000
@@ -171,6 +171,11 @@
171 size_t *pos, size_t *lineno)171 size_t *pos, size_t *lineno)
172 __attribute__ ((warn_unused_result));172 __attribute__ ((warn_unused_result));
173173
174static int stanza_reload (JobClass *class, NihConfigStanza *stanza,
175 const char *file, size_t len,
176 size_t *pos, size_t *lineno)
177 __attribute__ ((warn_unused_result));
178
174static int stanza_apparmor (JobClass *class, NihConfigStanza *stanza,179static int stanza_apparmor (JobClass *class, NihConfigStanza *stanza,
175 const char *file, size_t len,180 const char *file, size_t len,
176 size_t *pos, size_t *lineno)181 size_t *pos, size_t *lineno)
@@ -262,6 +267,7 @@
262 { "expect", (NihConfigHandler)stanza_expect },267 { "expect", (NihConfigHandler)stanza_expect },
263 { "task", (NihConfigHandler)stanza_task },268 { "task", (NihConfigHandler)stanza_task },
264 { "kill", (NihConfigHandler)stanza_kill },269 { "kill", (NihConfigHandler)stanza_kill },
270 { "reload", (NihConfigHandler)stanza_reload },
265 { "respawn", (NihConfigHandler)stanza_respawn },271 { "respawn", (NihConfigHandler)stanza_respawn },
266 { "normal", (NihConfigHandler)stanza_normal },272 { "normal", (NihConfigHandler)stanza_normal },
267 { "console", (NihConfigHandler)stanza_console },273 { "console", (NihConfigHandler)stanza_console },
@@ -1938,6 +1944,92 @@
1938 return ret;1944 return ret;
1939}1945}
19401946
1947
1948/**
1949 * stanza_reload:
1950 * @class: job class being parsed,
1951 * @stanza: stanza found,
1952 * @file: file or string to parse,
1953 * @len: length of @file,
1954 * @pos: offset within @file,
1955 * @lineno: line number.
1956 *
1957 * Parse a reload stanza from @file, extracting a second-level stanza that
1958 * states which value to set from its argument.
1959 *
1960 * Returns: zero on success, negative value on error.
1961 **/
1962static int
1963stanza_reload (JobClass *class,
1964 NihConfigStanza *stanza,
1965 const char *file,
1966 size_t len,
1967 size_t *pos,
1968 size_t *lineno)
1969{
1970 size_t a_pos, a_lineno;
1971 int ret = -1;
1972 char *endptr;
1973 nih_local char *arg = NULL;
1974
1975 nih_assert (class != NULL);
1976 nih_assert (stanza != NULL);
1977 nih_assert (file != NULL);
1978 nih_assert (pos != NULL);
1979
1980 a_pos = *pos;
1981 a_lineno = (lineno ? *lineno : 1);
1982
1983 arg = nih_config_next_token (NULL, file, len, &a_pos, &a_lineno,
1984 NIH_CONFIG_CNLWS, FALSE);
1985 if (! arg)
1986 goto finish;
1987
1988 if (! strcmp (arg, "signal")) {
1989 unsigned long status;
1990 nih_local char *sigarg = NULL;
1991 int signal;
1992
1993 /* Update error position to the exit status */
1994 *pos = a_pos;
1995 if (lineno)
1996 *lineno = a_lineno;
1997
1998 sigarg = nih_config_next_arg (NULL, file, len, &a_pos,
1999 &a_lineno);
2000
2001 if (! sigarg)
2002 goto finish;
2003
2004 signal = nih_signal_from_name (sigarg);
2005 if (signal < 0) {
2006 errno = 0;
2007 status = strtoul (sigarg, &endptr, 10);
2008 if (errno || *endptr || (status > INT_MAX))
2009 nih_return_error (-1, PARSE_ILLEGAL_SIGNAL,
2010 _(PARSE_ILLEGAL_SIGNAL_STR));
2011
2012 signal = status;
2013 }
2014
2015 /* Set the signal */
2016 class->reload_signal = signal;
2017 } else {
2018 nih_return_error (-1, NIH_CONFIG_UNKNOWN_STANZA,
2019 _(NIH_CONFIG_UNKNOWN_STANZA_STR));
2020 }
2021
2022 ret = nih_config_skip_comment (file, len, &a_pos, &a_lineno);
2023
2024finish:
2025 *pos = a_pos;
2026 if (lineno)
2027 *lineno = a_lineno;
2028
2029 return ret;
2030}
2031
2032
1941/**2033/**
1942 * stanza_apparmor:2034 * stanza_apparmor:
1943 * @class: job class being parsed,2035 * @class: job class being parsed,
19442036
=== added file 'init/tests/data/upstart-reload-signal.json'
--- init/tests/data/upstart-reload-signal.json 1970-01-01 00:00:00 +0000
+++ init/tests/data/upstart-reload-signal.json 2013-08-22 19:52:35 +0000
@@ -0,0 +1,16580 @@
1{
2 "sessions" : [],
3 "conf_sources" : [
4 {
5 "conf_files" : [],
6 "session" : 0,
7 "flag" : 0,
8 "type" : "CONF_FILE",
9 "path" : "/etc/init.conf"
10 },
11 {
12 "conf_files" : [
13 {
14 "conf_source" : 1,
15 "job_class" : {
16 "session" : 0,
17 "name" : "setvtrgb"
18 },
19 "flag" : 0,
20 "path" : "/etc/init/setvtrgb.conf"
21 },
22 {
23 "conf_source" : 1,
24 "job_class" : {
25 "session" : 0,
26 "name" : "startpar-bridge"
27 },
28 "flag" : 0,
29 "path" : "/etc/init/startpar-bridge.conf"
30 },
31 {
32 "conf_source" : 1,
33 "job_class" : {
34 "session" : 0,
35 "name" : "tty5"
36 },
37 "flag" : 0,
38 "path" : "/etc/init/tty5.conf"
39 },
40 {
41 "conf_source" : 1,
42 "job_class" : {
43 "session" : 0,
44 "name" : "dmesg"
45 },
46 "flag" : 0,
47 "path" : "/etc/init/dmesg.conf"
48 },
49 {
50 "conf_source" : 1,
51 "job_class" : {
52 "session" : 0,
53 "name" : "friendly-recovery"
54 },
55 "flag" : 0,
56 "path" : "/etc/init/friendly-recovery.conf"
57 },
58 {
59 "conf_source" : 1,
60 "job_class" : {
61 "session" : 0,
62 "name" : "network-interface"
63 },
64 "flag" : 0,
65 "path" : "/etc/init/network-interface.conf"
66 },
67 {
68 "conf_source" : 1,
69 "job_class" : {
70 "session" : 0,
71 "name" : "plymouth-stop"
72 },
73 "flag" : 0,
74 "path" : "/etc/init/plymouth-stop.conf"
75 },
76 {
77 "conf_source" : 1,
78 "job_class" : {
79 "session" : 0,
80 "name" : "procps"
81 },
82 "flag" : 0,
83 "path" : "/etc/init/procps.conf"
84 },
85 {
86 "conf_source" : 1,
87 "job_class" : {
88 "session" : 0,
89 "name" : "rsyslog"
90 },
91 "flag" : 0,
92 "path" : "/etc/init/rsyslog.conf"
93 },
94 {
95 "conf_source" : 1,
96 "job_class" : {
97 "session" : 0,
98 "name" : "systemd-logind"
99 },
100 "flag" : 0,
101 "path" : "/etc/init/systemd-logind.conf"
102 },
103 {
104 "conf_source" : 1,
105 "job_class" : {
106 "session" : 0,
107 "name" : "udev"
108 },
109 "flag" : 0,
110 "path" : "/etc/init/udev.conf"
111 },
112 {
113 "conf_source" : 1,
114 "job_class" : {
115 "session" : 0,
116 "name" : "atd"
117 },
118 "flag" : 0,
119 "path" : "/etc/init/atd.conf"
120 },
121 {
122 "conf_source" : 1,
123 "job_class" : {
124 "session" : 0,
125 "name" : "plymouth-upstart-bridge"
126 },
127 "flag" : 0,
128 "path" : "/etc/init/plymouth-upstart-bridge.conf"
129 },
130 {
131 "conf_source" : 1,
132 "job_class" : {
133 "session" : 0,
134 "name" : "tty2"
135 },
136 "flag" : 0,
137 "path" : "/etc/init/tty2.conf"
138 },
139 {
140 "conf_source" : 1,
141 "job_class" : {
142 "session" : 0,
143 "name" : "tty6"
144 },
145 "flag" : 0,
146 "path" : "/etc/init/tty6.conf"
147 },
148 {
149 "conf_source" : 1,
150 "job_class" : {
151 "session" : 0,
152 "name" : "cloud-init-nonet"
153 },
154 "flag" : 0,
155 "path" : "/etc/init/cloud-init-nonet.conf"
156 },
157 {
158 "conf_source" : 1,
159 "job_class" : {
160 "session" : 0,
161 "name" : "mountall-reboot"
162 },
163 "flag" : 0,
164 "path" : "/etc/init/mountall-reboot.conf"
165 },
166 {
167 "conf_source" : 1,
168 "job_class" : {
169 "session" : 0,
170 "name" : "ssh"
171 },
172 "flag" : 0,
173 "path" : "/etc/init/ssh.conf"
174 },
175 {
176 "conf_source" : 1,
177 "job_class" : {
178 "session" : 0,
179 "name" : "udev-fallback-graphics"
180 },
181 "flag" : 0,
182 "path" : "/etc/init/udev-fallback-graphics.conf"
183 },
184 {
185 "conf_source" : 1,
186 "job_class" : {
187 "session" : 0,
188 "name" : "ureadahead-other"
189 },
190 "flag" : 0,
191 "path" : "/etc/init/ureadahead-other.conf"
192 },
193 {
194 "conf_source" : 1,
195 "job_class" : {
196 "session" : 0,
197 "name" : "cryptdisks-enable"
198 },
199 "flag" : 0,
200 "path" : "/etc/init/cryptdisks-enable.conf"
201 },
202 {
203 "conf_source" : 1,
204 "job_class" : {
205 "session" : 0,
206 "name" : "mountall-bootclean.sh"
207 },
208 "flag" : 0,
209 "path" : "/etc/init/mountall-bootclean.sh.conf"
210 },
211 {
212 "conf_source" : 1,
213 "job_class" : {
214 "session" : 0,
215 "name" : "mountall.sh"
216 },
217 "flag" : 0,
218 "path" : "/etc/init/mountall.sh.conf"
219 },
220 {
221 "conf_source" : 1,
222 "job_class" : {
223 "session" : 0,
224 "name" : "mounted-dev"
225 },
226 "flag" : 0,
227 "path" : "/etc/init/mounted-dev.conf"
228 },
229 {
230 "conf_source" : 1,
231 "job_class" : {
232 "session" : 0,
233 "name" : "mounted-var"
234 },
235 "flag" : 0,
236 "path" : "/etc/init/mounted-var.conf"
237 },
238 {
239 "conf_source" : 1,
240 "job_class" : {
241 "session" : 0,
242 "name" : "network-interface-container"
243 },
244 "flag" : 0,
245 "path" : "/etc/init/network-interface-container.conf"
246 },
247 {
248 "conf_source" : 1,
249 "job_class" : {
250 "session" : 0,
251 "name" : "passwd"
252 },
253 "flag" : 0,
254 "path" : "/etc/init/passwd.conf"
255 },
256 {
257 "conf_source" : 1,
258 "job_class" : {
259 "session" : 0,
260 "name" : "cloud-init-local"
261 },
262 "flag" : 0,
263 "path" : "/etc/init/cloud-init-local.conf"
264 },
265 {
266 "conf_source" : 1,
267 "job_class" : {
268 "session" : 0,
269 "name" : "failsafe"
270 },
271 "flag" : 0,
272 "path" : "/etc/init/failsafe.conf"
273 },
274 {
275 "conf_source" : 1,
276 "job_class" : {
277 "session" : 0,
278 "name" : "mountkernfs.sh"
279 },
280 "flag" : 0,
281 "path" : "/etc/init/mountkernfs.sh.conf"
282 },
283 {
284 "conf_source" : 1,
285 "job_class" : {
286 "session" : 0,
287 "name" : "rc-sysinit"
288 },
289 "flag" : 0,
290 "path" : "/etc/init/rc-sysinit.conf"
291 },
292 {
293 "conf_source" : 1,
294 "job_class" : {
295 "session" : 0,
296 "name" : "tty1"
297 },
298 "flag" : 0,
299 "path" : "/etc/init/tty1.conf"
300 },
301 {
302 "conf_source" : 1,
303 "job_class" : {
304 "session" : 0,
305 "name" : "tty3"
306 },
307 "flag" : 0,
308 "path" : "/etc/init/tty3.conf"
309 },
310 {
311 "conf_source" : 1,
312 "job_class" : {
313 "session" : 0,
314 "name" : "container-detect"
315 },
316 "flag" : 0,
317 "path" : "/etc/init/container-detect.conf"
318 },
319 {
320 "conf_source" : 1,
321 "job_class" : {
322 "session" : 0,
323 "name" : "hostname"
324 },
325 "flag" : 0,
326 "path" : "/etc/init/hostname.conf"
327 },
328 {
329 "conf_source" : 1,
330 "job_class" : {
331 "session" : 0,
332 "name" : "hwclock-save"
333 },
334 "flag" : 0,
335 "path" : "/etc/init/hwclock-save.conf"
336 },
337 {
338 "conf_source" : 1,
339 "job_class" : {
340 "session" : 0,
341 "name" : "shutdown"
342 },
343 "flag" : 0,
344 "path" : "/etc/init/shutdown.conf"
345 },
346 {
347 "conf_source" : 1,
348 "job_class" : {
349 "session" : 0,
350 "name" : "upstart-file-bridge"
351 },
352 "flag" : 0,
353 "path" : "/etc/init/upstart-file-bridge.conf"
354 },
355 {
356 "conf_source" : 1,
357 "job_class" : {
358 "session" : 0,
359 "name" : "bootmisc.sh"
360 },
361 "flag" : 0,
362 "path" : "/etc/init/bootmisc.sh.conf"
363 },
364 {
365 "conf_source" : 1,
366 "job_class" : {
367 "session" : 0,
368 "name" : "cloud-init"
369 },
370 "flag" : 0,
371 "path" : "/etc/init/cloud-init.conf"
372 },
373 {
374 "conf_source" : 1,
375 "job_class" : {
376 "session" : 0,
377 "name" : "flush-early-job-log"
378 },
379 "flag" : 0,
380 "path" : "/etc/init/flush-early-job-log.conf"
381 },
382 {
383 "conf_source" : 1,
384 "job_class" : {
385 "session" : 0,
386 "name" : "hwclock"
387 },
388 "flag" : 0,
389 "path" : "/etc/init/hwclock.conf"
390 },
391 {
392 "conf_source" : 1,
393 "job_class" : {
394 "session" : 0,
395 "name" : "checkroot-bootclean.sh"
396 },
397 "flag" : 0,
398 "path" : "/etc/init/checkroot-bootclean.sh.conf"
399 },
400 {
401 "conf_source" : 1,
402 "job_class" : {
403 "session" : 0,
404 "name" : "console-font"
405 },
406 "flag" : 0,
407 "path" : "/etc/init/console-font.conf"
408 },
409 {
410 "conf_source" : 1,
411 "job_class" : {
412 "session" : 0,
413 "name" : "console"
414 },
415 "flag" : 0,
416 "path" : "/etc/init/console.conf"
417 },
418 {
419 "conf_source" : 1,
420 "job_class" : {
421 "session" : 0,
422 "name" : "irqbalance"
423 },
424 "flag" : 0,
425 "path" : "/etc/init/irqbalance.conf"
426 },
427 {
428 "conf_source" : 1,
429 "job_class" : {
430 "session" : 0,
431 "name" : "network-interface-security"
432 },
433 "flag" : 0,
434 "path" : "/etc/init/network-interface-security.conf"
435 },
436 {
437 "conf_source" : 1,
438 "job_class" : {
439 "session" : 0,
440 "name" : "resolvconf"
441 },
442 "flag" : 0,
443 "path" : "/etc/init/resolvconf.conf"
444 },
445 {
446 "conf_source" : 1,
447 "job_class" : {
448 "session" : 0,
449 "name" : "apport"
450 },
451 "flag" : 0,
452 "path" : "/etc/init/apport.conf"
453 },
454 {
455 "conf_source" : 1,
456 "job_class" : {
457 "session" : 0,
458 "name" : "checkroot.sh"
459 },
460 "flag" : 0,
461 "path" : "/etc/init/checkroot.sh.conf"
462 },
463 {
464 "conf_source" : 1,
465 "job_class" : {
466 "session" : 0,
467 "name" : "cloud-config"
468 },
469 "flag" : 0,
470 "path" : "/etc/init/cloud-config.conf"
471 },
472 {
473 "conf_source" : 1,
474 "job_class" : {
475 "session" : 0,
476 "name" : "mounted-tmp"
477 },
478 "flag" : 0,
479 "path" : "/etc/init/mounted-tmp.conf"
480 },
481 {
482 "conf_source" : 1,
483 "job_class" : {
484 "session" : 0,
485 "name" : "cryptdisks-udev"
486 },
487 "flag" : 0,
488 "path" : "/etc/init/cryptdisks-udev.conf"
489 },
490 {
491 "conf_source" : 1,
492 "job_class" : {
493 "session" : 0,
494 "name" : "mounted-run"
495 },
496 "flag" : 0,
497 "path" : "/etc/init/mounted-run.conf"
498 },
499 {
500 "conf_source" : 1,
501 "job_class" : {
502 "session" : 0,
503 "name" : "tty4"
504 },
505 "flag" : 0,
506 "path" : "/etc/init/tty4.conf"
507 },
508 {
509 "conf_source" : 1,
510 "job_class" : {
511 "session" : 0,
512 "name" : "udevmonitor"
513 },
514 "flag" : 0,
515 "path" : "/etc/init/udevmonitor.conf"
516 },
517 {
518 "conf_source" : 1,
519 "job_class" : {
520 "session" : 0,
521 "name" : "udevtrigger"
522 },
523 "flag" : 0,
524 "path" : "/etc/init/udevtrigger.conf"
525 },
526 {
527 "conf_source" : 1,
528 "job_class" : {
529 "session" : 0,
530 "name" : "checkfs.sh"
531 },
532 "flag" : 0,
533 "path" : "/etc/init/checkfs.sh.conf"
534 },
535 {
536 "conf_source" : 1,
537 "job_class" : {
538 "session" : 0,
539 "name" : "cloud-init-container"
540 },
541 "flag" : 0,
542 "path" : "/etc/init/cloud-init-container.conf"
543 },
544 {
545 "conf_source" : 1,
546 "job_class" : {
547 "session" : 0,
548 "name" : "udev-finish"
549 },
550 "flag" : 0,
551 "path" : "/etc/init/udev-finish.conf"
552 },
553 {
554 "conf_source" : 1,
555 "job_class" : {
556 "session" : 0,
557 "name" : "cloud-final"
558 },
559 "flag" : 0,
560 "path" : "/etc/init/cloud-final.conf"
561 },
562 {
563 "conf_source" : 1,
564 "job_class" : {
565 "session" : 0,
566 "name" : "cron"
567 },
568 "flag" : 0,
569 "path" : "/etc/init/cron.conf"
570 },
571 {
572 "conf_source" : 1,
573 "job_class" : {
574 "session" : 0,
575 "name" : "kmod"
576 },
577 "flag" : 0,
578 "path" : "/etc/init/kmod.conf"
579 },
580 {
581 "conf_source" : 1,
582 "job_class" : {
583 "session" : 0,
584 "name" : "mounted-proc"
585 },
586 "flag" : 0,
587 "path" : "/etc/init/mounted-proc.conf"
588 },
589 {
590 "conf_source" : 1,
591 "job_class" : {
592 "session" : 0,
593 "name" : "screen-cleanup"
594 },
595 "flag" : 0,
596 "path" : "/etc/init/screen-cleanup.conf"
597 },
598 {
599 "conf_source" : 1,
600 "job_class" : {
601 "session" : 0,
602 "name" : "wait-for-state"
603 },
604 "flag" : 0,
605 "path" : "/etc/init/wait-for-state.conf"
606 },
607 {
608 "conf_source" : 1,
609 "job_class" : {
610 "session" : 0,
611 "name" : "control-alt-delete"
612 },
613 "flag" : 0,
614 "path" : "/etc/init/control-alt-delete.conf"
615 },
616 {
617 "conf_source" : 1,
618 "job_class" : {
619 "session" : 0,
620 "name" : "mountall-net"
621 },
622 "flag" : 0,
623 "path" : "/etc/init/mountall-net.conf"
624 },
625 {
626 "conf_source" : 1,
627 "job_class" : {
628 "session" : 0,
629 "name" : "mountdevsubfs.sh"
630 },
631 "flag" : 0,
632 "path" : "/etc/init/mountdevsubfs.sh.conf"
633 },
634 {
635 "conf_source" : 1,
636 "job_class" : {
637 "session" : 0,
638 "name" : "plymouth-splash"
639 },
640 "flag" : 0,
641 "path" : "/etc/init/plymouth-splash.conf"
642 },
643 {
644 "conf_source" : 1,
645 "job_class" : {
646 "session" : 0,
647 "name" : "rc"
648 },
649 "flag" : 0,
650 "path" : "/etc/init/rc.conf"
651 },
652 {
653 "conf_source" : 1,
654 "job_class" : {
655 "session" : 0,
656 "name" : "ufw"
657 },
658 "flag" : 0,
659 "path" : "/etc/init/ufw.conf"
660 },
661 {
662 "conf_source" : 1,
663 "job_class" : {
664 "session" : 0,
665 "name" : "mountnfs-bootclean.sh"
666 },
667 "flag" : 0,
668 "path" : "/etc/init/mountnfs-bootclean.sh.conf"
669 },
670 {
671 "conf_source" : 1,
672 "job_class" : {
673 "session" : 0,
674 "name" : "plymouth-log"
675 },
676 "flag" : 0,
677 "path" : "/etc/init/plymouth-log.conf"
678 },
679 {
680 "conf_source" : 1,
681 "job_class" : {
682 "session" : 0,
683 "name" : "plymouth-ready"
684 },
685 "flag" : 0,
686 "path" : "/etc/init/plymouth-ready.conf"
687 },
688 {
689 "conf_source" : 1,
690 "job_class" : {
691 "session" : 0,
692 "name" : "plymouth"
693 },
694 "flag" : 0,
695 "path" : "/etc/init/plymouth.conf"
696 },
697 {
698 "conf_source" : 1,
699 "job_class" : {
700 "session" : 0,
701 "name" : "upstart-socket-bridge"
702 },
703 "flag" : 0,
704 "path" : "/etc/init/upstart-socket-bridge.conf"
705 },
706 {
707 "conf_source" : 1,
708 "job_class" : {
709 "session" : 0,
710 "name" : "acpid"
711 },
712 "flag" : 0,
713 "path" : "/etc/init/acpid.conf"
714 },
715 {
716 "conf_source" : 1,
717 "job_class" : {
718 "session" : 0,
719 "name" : "cloud-log-shutdown"
720 },
721 "flag" : 0,
722 "path" : "/etc/init/cloud-log-shutdown.conf"
723 },
724 {
725 "conf_source" : 1,
726 "job_class" : {
727 "session" : 0,
728 "name" : "console-setup"
729 },
730 "flag" : 0,
731 "path" : "/etc/init/console-setup.conf"
732 },
733 {
734 "conf_source" : 1,
735 "job_class" : {
736 "session" : 0,
737 "name" : "mounted-debugfs"
738 },
739 "flag" : 0,
740 "path" : "/etc/init/mounted-debugfs.conf"
741 },
742 {
743 "conf_source" : 1,
744 "job_class" : {
745 "session" : 0,
746 "name" : "mountnfs.sh"
747 },
748 "flag" : 0,
749 "path" : "/etc/init/mountnfs.sh.conf"
750 },
751 {
752 "conf_source" : 1,
753 "job_class" : {
754 "session" : 0,
755 "name" : "networking"
756 },
757 "flag" : 0,
758 "path" : "/etc/init/networking.conf"
759 },
760 {
761 "conf_source" : 1,
762 "job_class" : {
763 "session" : 0,
764 "name" : "upstart-udev-bridge"
765 },
766 "flag" : 0,
767 "path" : "/etc/init/upstart-udev-bridge.conf"
768 },
769 {
770 "conf_source" : 1,
771 "job_class" : {
772 "session" : 0,
773 "name" : "dbus"
774 },
775 "flag" : 0,
776 "path" : "/etc/init/dbus.conf"
777 },
778 {
779 "conf_source" : 1,
780 "job_class" : {
781 "session" : 0,
782 "name" : "mountall-shell"
783 },
784 "flag" : 0,
785 "path" : "/etc/init/mountall-shell.conf"
786 },
787 {
788 "conf_source" : 1,
789 "job_class" : {
790 "session" : 0,
791 "name" : "mountall"
792 },
793 "flag" : 0,
794 "path" : "/etc/init/mountall.conf"
795 },
796 {
797 "conf_source" : 1,
798 "job_class" : {
799 "session" : 0,
800 "name" : "mtab.sh"
801 },
802 "flag" : 0,
803 "path" : "/etc/init/mtab.sh.conf"
804 },
805 {
806 "conf_source" : 1,
807 "job_class" : {
808 "session" : 0,
809 "name" : "rcS"
810 },
811 "flag" : 0,
812 "path" : "/etc/init/rcS.conf"
813 },
814 {
815 "conf_source" : 1,
816 "job_class" : {
817 "session" : 0,
818 "name" : "whoopsie"
819 },
820 "flag" : 0,
821 "path" : "/etc/init/whoopsie.conf"
822 }
823 ],
824 "session" : 0,
825 "flag" : 0,
826 "type" : "CONF_JOB_DIR",
827 "path" : "/etc/init"
828 }
829 ],
830 "job_classes" : [
831 {
832 "setuid" : null,
833 "jobs" : [
834 {
835 "trace_state" : "TRACE_NONE",
836 "failed" : 0,
837 "state" : "JOB_RUNNING",
838 "failed_process" : "PROCESS_INVALID",
839 "pid" : [
840 0,
841 0,
842 0,
843 0,
844 0,
845 0
846 ],
847 "start_env" : [],
848 "trace_forks" : 0,
849 "respawn_time" : 0,
850 "log" : [
851 {
852 "path" : null
853 },
854 {
855 "path" : null
856 },
857 {
858 "path" : null
859 },
860 {
861 "path" : null
862 },
863 {
864 "path" : null
865 },
866 {
867 "path" : null
868 }
869 ],
870 "respawn_count" : 0,
871 "kill_process" : "PROCESS_INVALID",
872 "env" : [
873 "PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin",
874 "TERM=linux",
875 "UPSTART_EVENTS=virtual-filesystems"
876 ],
877 "name" : "",
878 "path" : "/com/ubuntu/Upstart/jobs/mountnfs_2dbootclean_2esh/_",
879 "exit_status" : 0,
880 "goal" : "JOB_START",
881 "stop_env" : [],
882 "fds" : []
883 }
884 ],
885 "emits" : [],
886 "session" : 0,
887 "debug" : 0,
888 "export" : [],
889 "reload_signal" : 1,
890 "expect" : "EXPECT_NONE",
891 "chroot" : null,
892 "console" : "CONSOLE_LOG",
893 "kill_signal" : 15,
894 "name" : "mountnfs-bootclean.sh",
895 "instance" : "",
896 "description" : null,
897 "respawn_interval" : 5,
898 "process" : [
899 {
900 "script" : 0,
901 "command" : null
902 },
903 {
904 "script" : 0,
905 "command" : null
906 },
907 {
908 "script" : 0,
909 "command" : null
910 },
911 {
912 "script" : 0,
913 "command" : null
914 },
915 {
916 "script" : 0,
917 "command" : null
918 },
919 {
920 "script" : 0,
921 "command" : null
922 }
923 ],
924 "apparmor_switch" : null,
925 "respawn_limit" : 10,
926 "author" : null,
927 "respawn" : 0,
928 "nice" : -21,
929 "limits" : [
930 {
931 "rlim_cur" : 0,
932 "rlim_max" : 0
933 },
934 {
935 "rlim_cur" : 0,
936 "rlim_max" : 0
937 },
938 {
939 "rlim_cur" : 0,
940 "rlim_max" : 0
941 },
942 {
943 "rlim_cur" : 0,
944 "rlim_max" : 0
945 },
946 {
947 "rlim_cur" : 0,
948 "rlim_max" : 0
949 },
950 {
951 "rlim_cur" : 0,
952 "rlim_max" : 0
953 },
954 {
955 "rlim_cur" : 0,
956 "rlim_max" : 0
957 },
958 {
959 "rlim_cur" : 0,
960 "rlim_max" : 0
961 },
962 {
963 "rlim_cur" : 0,
964 "rlim_max" : 0
965 },
966 {
967 "rlim_cur" : 0,
968 "rlim_max" : 0
969 },
970 {
971 "rlim_cur" : 0,
972 "rlim_max" : 0
973 },
974 {
975 "rlim_cur" : 0,
976 "rlim_max" : 0
977 },
978 {
979 "rlim_cur" : 0,
980 "rlim_max" : 0
981 },
982 {
983 "rlim_cur" : 0,
984 "rlim_max" : 0
985 },
986 {
987 "rlim_cur" : 0,
988 "rlim_max" : 0
989 },
990 {
991 "rlim_cur" : 0,
992 "rlim_max" : 0
993 }
994 ],
995 "oom_score_adj" : 0,
996 "normalexit" : [],
997 "kill_timeout" : 5,
998 "usage" : null,
999 "env" : [],
1000 "version" : null,
1001 "task" : 0,
1002 "path" : "/com/ubuntu/Upstart/jobs/mountnfs_2dbootclean_2esh",
1003 "deleted" : 1,
1004 "chdir" : null,
1005 "start_on" : [
1006 {
1007 "value" : 0,
1008 "name" : "virtual-filesystems",
1009 "type" : "EVENT_MATCH"
1010 }
1011 ],
1012 "umask" : 18,
1013 "setgid" : null
1014 },
1015 {
1016 "setuid" : null,
1017 "jobs" : [
1018 {
1019 "trace_state" : "TRACE_NONE",
1020 "failed" : 0,
1021 "state" : "JOB_RUNNING",
1022 "failed_process" : "PROCESS_INVALID",
1023 "pid" : [
1024 823,
1025 0,
1026 0,
1027 0,
1028 0,
1029 0
1030 ],
1031 "start_env" : [],
1032 "trace_forks" : 1,
1033 "respawn_time" : 0,
1034 "log" : [
1035 {
1036 "path" : null
1037 },
1038 {
1039 "path" : null
1040 },
1041 {
1042 "path" : null
1043 },
1044 {
1045 "path" : null
1046 },
1047 {
1048 "path" : null
1049 },
1050 {
1051 "path" : null
1052 }
1053 ],
1054 "respawn_count" : 0,
1055 "kill_process" : "PROCESS_INVALID",
1056 "stop_on" : [
1057 {
1058 "env" : [
1059 "[06]"
1060 ],
1061 "value" : 0,
1062 "name" : "runlevel",
1063 "type" : "EVENT_MATCH"
1064 }
1065 ],
1066 "env" : [
1067 "PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin",
1068 "TERM=linux",
1069 "UPSTART_EVENTS=filesystem"
1070 ],
1071 "name" : "",
1072 "path" : "/com/ubuntu/Upstart/jobs/rsyslog/_",
1073 "exit_status" : 0,
1074 "goal" : "JOB_START",
1075 "stop_env" : [],
1076 "fds" : []
1077 }
1078 ],
1079 "emits" : [],
1080 "session" : 0,
1081 "debug" : 0,
1082 "export" : [],
1083 "reload_signal" : 1,
1084 "expect" : "EXPECT_FORK",
1085 "stop_on" : [
1086 {
1087 "env" : [
1088 "[06]"
1089 ],
1090 "value" : 0,
1091 "name" : "runlevel",
1092 "type" : "EVENT_MATCH"
1093 }
1094 ],
1095 "chroot" : null,
1096 "console" : "CONSOLE_LOG",
1097 "kill_signal" : 15,
1098 "name" : "rsyslog",
1099 "instance" : "",
1100 "description" : "system logging daemon",
1101 "respawn_interval" : 5,
1102 "process" : [
1103 {
1104 "script" : 1,
1105 "command" : ". /etc/default/rsyslog\nexec rsyslogd $RSYSLOGD_OPTIONS\n"
1106 },
1107 {
1108 "script" : 1,
1109 "command" : "/lib/init/apparmor-profile-load usr.sbin.rsyslogd\n"
1110 },
1111 {
1112 "script" : 0,
1113 "command" : null
1114 },
1115 {
1116 "script" : 0,
1117 "command" : null
1118 },
1119 {
1120 "script" : 0,
1121 "command" : null
1122 },
1123 {
1124 "script" : 0,
1125 "command" : null
1126 }
1127 ],
1128 "apparmor_switch" : null,
1129 "respawn_limit" : 10,
1130 "author" : null,
1131 "respawn" : 1,
1132 "nice" : -21,
1133 "limits" : [
1134 {
1135 "rlim_cur" : 0,
1136 "rlim_max" : 0
1137 },
1138 {
1139 "rlim_cur" : 0,
1140 "rlim_max" : 0
1141 },
1142 {
1143 "rlim_cur" : 0,
1144 "rlim_max" : 0
1145 },
1146 {
1147 "rlim_cur" : 0,
1148 "rlim_max" : 0
1149 },
1150 {
1151 "rlim_cur" : 0,
1152 "rlim_max" : 0
1153 },
1154 {
1155 "rlim_cur" : 0,
1156 "rlim_max" : 0
1157 },
1158 {
1159 "rlim_cur" : 0,
1160 "rlim_max" : 0
1161 },
1162 {
1163 "rlim_cur" : 0,
1164 "rlim_max" : 0
1165 },
1166 {
1167 "rlim_cur" : 0,
1168 "rlim_max" : 0
1169 },
1170 {
1171 "rlim_cur" : 0,
1172 "rlim_max" : 0
1173 },
1174 {
1175 "rlim_cur" : 0,
1176 "rlim_max" : 0
1177 },
1178 {
1179 "rlim_cur" : 0,
1180 "rlim_max" : 0
1181 },
1182 {
1183 "rlim_cur" : 0,
1184 "rlim_max" : 0
1185 },
1186 {
1187 "rlim_cur" : 0,
1188 "rlim_max" : 0
1189 },
1190 {
1191 "rlim_cur" : 0,
1192 "rlim_max" : 0
1193 },
1194 {
1195 "rlim_cur" : 0,
1196 "rlim_max" : 0
1197 }
1198 ],
1199 "oom_score_adj" : 0,
1200 "normalexit" : [],
1201 "kill_timeout" : 5,
1202 "usage" : null,
1203 "env" : [],
1204 "version" : null,
1205 "deleted" : 1,
1206 "task" : 0,
1207 "path" : "/com/ubuntu/Upstart/jobs/rsyslog",
1208 "chdir" : null,
1209 "start_on" : [
1210 {
1211 "value" : 0,
1212 "name" : "filesystem",
1213 "type" : "EVENT_MATCH"
1214 }
1215 ],
1216 "umask" : 18,
1217 "setgid" : null
1218 },
1219 {
1220 "setuid" : null,
1221 "jobs" : [
1222 {
1223 "trace_state" : "TRACE_NONE",
1224 "failed" : 0,
1225 "state" : "JOB_RUNNING",
1226 "failed_process" : "PROCESS_INVALID",
1227 "pid" : [
1228 866,
1229 0,
1230 0,
1231 0,
1232 0,
1233 0
1234 ],
1235 "start_env" : [],
1236 "trace_forks" : 0,
1237 "respawn_time" : 0,
1238 "log" : [
1239 {
1240 "path" : null
1241 },
1242 {
1243 "path" : null
1244 },
1245 {
1246 "path" : null
1247 },
1248 {
1249 "path" : null
1250 },
1251 {
1252 "path" : null
1253 },
1254 {
1255 "path" : null
1256 }
1257 ],
1258 "respawn_count" : 0,
1259 "kill_process" : "PROCESS_INVALID",
1260 "stop_on" : [
1261 {
1262 "env" : [
1263 "[!23]"
1264 ],
1265 "value" : 0,
1266 "name" : "runlevel",
1267 "type" : "EVENT_MATCH"
1268 }
1269 ],
1270 "env" : [
1271 "PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin",
1272 "TERM=linux",
1273 "RUNLEVEL=2",
1274 "PREVLEVEL=N",
1275 "UPSTART_EVENTS=runlevel not-container"
1276 ],
1277 "name" : "",
1278 "path" : "/com/ubuntu/Upstart/jobs/tty4/_",
1279 "exit_status" : 0,
1280 "goal" : "JOB_START",
1281 "stop_env" : [],
1282 "fds" : []
1283 }
1284 ],
1285 "emits" : [],
1286 "session" : 0,
1287 "debug" : 0,
1288 "export" : [],
1289 "reload_signal" : 1,
1290 "expect" : "EXPECT_NONE",
1291 "stop_on" : [
1292 {
1293 "env" : [
1294 "[!23]"
1295 ],
1296 "value" : 0,
1297 "name" : "runlevel",
1298 "type" : "EVENT_MATCH"
1299 }
1300 ],
1301 "chroot" : null,
1302 "console" : "CONSOLE_LOG",
1303 "kill_signal" : 15,
1304 "name" : "tty4",
1305 "instance" : "",
1306 "description" : null,
1307 "respawn_interval" : 5,
1308 "process" : [
1309 {
1310 "script" : 0,
1311 "command" : "/sbin/getty -8 38400 tty4"
1312 },
1313 {
1314 "script" : 0,
1315 "command" : null
1316 },
1317 {
1318 "script" : 0,
1319 "command" : null
1320 },
1321 {
1322 "script" : 0,
1323 "command" : null
1324 },
1325 {
1326 "script" : 0,
1327 "command" : null
1328 },
1329 {
1330 "script" : 0,
1331 "command" : null
1332 }
1333 ],
1334 "apparmor_switch" : null,
1335 "respawn_limit" : 10,
1336 "author" : null,
1337 "respawn" : 1,
1338 "nice" : -21,
1339 "limits" : [
1340 {
1341 "rlim_cur" : 0,
1342 "rlim_max" : 0
1343 },
1344 {
1345 "rlim_cur" : 0,
1346 "rlim_max" : 0
1347 },
1348 {
1349 "rlim_cur" : 0,
1350 "rlim_max" : 0
1351 },
1352 {
1353 "rlim_cur" : 0,
1354 "rlim_max" : 0
1355 },
1356 {
1357 "rlim_cur" : 0,
1358 "rlim_max" : 0
1359 },
1360 {
1361 "rlim_cur" : 0,
1362 "rlim_max" : 0
1363 },
1364 {
1365 "rlim_cur" : 0,
1366 "rlim_max" : 0
1367 },
1368 {
1369 "rlim_cur" : 0,
1370 "rlim_max" : 0
1371 },
1372 {
1373 "rlim_cur" : 0,
1374 "rlim_max" : 0
1375 },
1376 {
1377 "rlim_cur" : 0,
1378 "rlim_max" : 0
1379 },
1380 {
1381 "rlim_cur" : 0,
1382 "rlim_max" : 0
1383 },
1384 {
1385 "rlim_cur" : 0,
1386 "rlim_max" : 0
1387 },
1388 {
1389 "rlim_cur" : 0,
1390 "rlim_max" : 0
1391 },
1392 {
1393 "rlim_cur" : 0,
1394 "rlim_max" : 0
1395 },
1396 {
1397 "rlim_cur" : 0,
1398 "rlim_max" : 0
1399 },
1400 {
1401 "rlim_cur" : 0,
1402 "rlim_max" : 0
1403 }
1404 ],
1405 "oom_score_adj" : 0,
1406 "normalexit" : [],
1407 "kill_timeout" : 5,
1408 "usage" : null,
1409 "env" : [],
1410 "version" : null,
1411 "deleted" : 1,
1412 "task" : 0,
1413 "path" : "/com/ubuntu/Upstart/jobs/tty4",
1414 "chdir" : null,
1415 "start_on" : [
1416 {
1417 "env" : [
1418 "[23]"
1419 ],
1420 "value" : 0,
1421 "name" : "runlevel",
1422 "type" : "EVENT_MATCH"
1423 },
1424 {
1425 "value" : 0,
1426 "name" : "not-container",
1427 "type" : "EVENT_MATCH"
1428 },
1429 {
1430 "env" : [
1431 "CONTAINER=lxc"
1432 ],
1433 "value" : 0,
1434 "name" : "container",
1435 "type" : "EVENT_MATCH"
1436 },
1437 {
1438 "value" : 0,
1439 "type" : "EVENT_OR"
1440 },
1441 {
1442 "env" : [
1443 "CONTAINER=lxc-libvirt"
1444 ],
1445 "value" : 0,
1446 "name" : "container",
1447 "type" : "EVENT_MATCH"
1448 },
1449 {
1450 "value" : 0,
1451 "type" : "EVENT_OR"
1452 },
1453 {
1454 "value" : 0,
1455 "type" : "EVENT_AND"
1456 }
1457 ],
1458 "umask" : 18,
1459 "setgid" : null
1460 },
1461 {
1462 "setuid" : null,
1463 "jobs" : [
1464 {
1465 "trace_state" : "TRACE_NONE",
1466 "failed" : 0,
1467 "state" : "JOB_RUNNING",
1468 "failed_process" : "PROCESS_INVALID",
1469 "pid" : [
1470 321,
1471 0,
1472 0,
1473 0,
1474 0,
1475 0
1476 ],
1477 "start_env" : [],
1478 "trace_forks" : 1,
1479 "respawn_time" : 0,
1480 "log" : [
1481 {
1482 "path" : null
1483 },
1484 {
1485 "path" : null
1486 },
1487 {
1488 "path" : null
1489 },
1490 {
1491 "path" : null
1492 },
1493 {
1494 "path" : null
1495 },
1496 {
1497 "path" : null
1498 }
1499 ],
1500 "respawn_count" : 0,
1501 "kill_process" : "PROCESS_INVALID",
1502 "stop_on" : [
1503 {
1504 "env" : [
1505 "[06]"
1506 ],
1507 "value" : 0,
1508 "name" : "runlevel",
1509 "type" : "EVENT_MATCH"
1510 }
1511 ],
1512 "env" : [
1513 "PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin",
1514 "TERM=linux",
1515 "UPSTART_EVENTS=virtual-filesystems"
1516 ],
1517 "name" : "",
1518 "path" : "/com/ubuntu/Upstart/jobs/udev/_",
1519 "exit_status" : 0,
1520 "goal" : "JOB_START",
1521 "stop_env" : [],
1522 "fds" : []
1523 }
1524 ],
1525 "emits" : [],
1526 "session" : 0,
1527 "debug" : 0,
1528 "export" : [],
1529 "reload_signal" : 1,
1530 "expect" : "EXPECT_FORK",
1531 "stop_on" : [
1532 {
1533 "env" : [
1534 "[06]"
1535 ],
1536 "value" : 0,
1537 "name" : "runlevel",
1538 "type" : "EVENT_MATCH"
1539 }
1540 ],
1541 "chroot" : null,
1542 "console" : "CONSOLE_LOG",
1543 "kill_signal" : 15,
1544 "name" : "udev",
1545 "instance" : "",
1546 "description" : "device node and kernel event manager",
1547 "respawn_interval" : 5,
1548 "process" : [
1549 {
1550 "script" : 0,
1551 "command" : "/lib/systemd/systemd-udevd --daemon"
1552 },
1553 {
1554 "script" : 0,
1555 "command" : null
1556 },
1557 {
1558 "script" : 0,
1559 "command" : null
1560 },
1561 {
1562 "script" : 0,
1563 "command" : null
1564 },
1565 {
1566 "script" : 0,
1567 "command" : null
1568 },
1569 {
1570 "script" : 0,
1571 "command" : null
1572 }
1573 ],
1574 "apparmor_switch" : null,
1575 "respawn_limit" : 10,
1576 "author" : null,
1577 "respawn" : 1,
1578 "nice" : -21,
1579 "limits" : [
1580 {
1581 "rlim_cur" : 0,
1582 "rlim_max" : 0
1583 },
1584 {
1585 "rlim_cur" : 0,
1586 "rlim_max" : 0
1587 },
1588 {
1589 "rlim_cur" : 0,
1590 "rlim_max" : 0
1591 },
1592 {
1593 "rlim_cur" : 0,
1594 "rlim_max" : 0
1595 },
1596 {
1597 "rlim_cur" : 0,
1598 "rlim_max" : 0
1599 },
1600 {
1601 "rlim_cur" : 0,
1602 "rlim_max" : 0
1603 },
1604 {
1605 "rlim_cur" : 0,
1606 "rlim_max" : 0
1607 },
1608 {
1609 "rlim_cur" : 0,
1610 "rlim_max" : 0
1611 },
1612 {
1613 "rlim_cur" : 0,
1614 "rlim_max" : 0
1615 },
1616 {
1617 "rlim_cur" : 0,
1618 "rlim_max" : 0
1619 },
1620 {
1621 "rlim_cur" : 0,
1622 "rlim_max" : 0
1623 },
1624 {
1625 "rlim_cur" : 0,
1626 "rlim_max" : 0
1627 },
1628 {
1629 "rlim_cur" : 0,
1630 "rlim_max" : 0
1631 },
1632 {
1633 "rlim_cur" : 0,
1634 "rlim_max" : 0
1635 },
1636 {
1637 "rlim_cur" : 0,
1638 "rlim_max" : 0
1639 },
1640 {
1641 "rlim_cur" : 0,
1642 "rlim_max" : 0
1643 }
1644 ],
1645 "oom_score_adj" : 0,
1646 "normalexit" : [],
1647 "kill_timeout" : 5,
1648 "usage" : null,
1649 "env" : [],
1650 "version" : null,
1651 "deleted" : 1,
1652 "task" : 0,
1653 "path" : "/com/ubuntu/Upstart/jobs/udev",
1654 "chdir" : null,
1655 "start_on" : [
1656 {
1657 "value" : 0,
1658 "name" : "virtual-filesystems",
1659 "type" : "EVENT_MATCH"
1660 }
1661 ],
1662 "umask" : 18,
1663 "setgid" : null
1664 },
1665 {
1666 "setuid" : null,
1667 "jobs" : [
1668 {
1669 "trace_state" : "TRACE_NONE",
1670 "failed" : 0,
1671 "state" : "JOB_RUNNING",
1672 "failed_process" : "PROCESS_INVALID",
1673 "pid" : [
1674 314,
1675 0,
1676 0,
1677 0,
1678 0,
1679 0
1680 ],
1681 "start_env" : [],
1682 "trace_forks" : 2,
1683 "respawn_time" : 0,
1684 "log" : [
1685 {
1686 "path" : null
1687 },
1688 {
1689 "path" : null
1690 },
1691 {
1692 "path" : null
1693 },
1694 {
1695 "path" : null
1696 },
1697 {
1698 "path" : null
1699 },
1700 {
1701 "path" : null
1702 }
1703 ],
1704 "respawn_count" : 0,
1705 "kill_process" : "PROCESS_INVALID",
1706 "stop_on" : [
1707 {
1708 "env" : [
1709 "udev"
1710 ],
1711 "value" : 0,
1712 "name" : "stopped",
1713 "type" : "EVENT_MATCH"
1714 }
1715 ],
1716 "env" : [
1717 "PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin",
1718 "TERM=linux",
1719 "JOB=udev",
1720 "INSTANCE=",
1721 "UPSTART_EVENTS=starting"
1722 ],
1723 "name" : "",
1724 "path" : "/com/ubuntu/Upstart/jobs/upstart_2dudev_2dbridge/_",
1725 "exit_status" : 0,
1726 "goal" : "JOB_START",
1727 "stop_env" : [],
1728 "fds" : []
1729 }
1730 ],
1731 "emits" : [
1732 "*-device-added",
1733 "*-device-removed",
1734 "*-device-changed",
1735 "*-device-online",
1736 "*-device-offline"
1737 ],
1738 "session" : 0,
1739 "debug" : 0,
1740 "export" : [],
1741 "reload_signal" : 1,
1742 "expect" : "EXPECT_DAEMON",
1743 "stop_on" : [
1744 {
1745 "env" : [
1746 "udev"
1747 ],
1748 "value" : 0,
1749 "name" : "stopped",
1750 "type" : "EVENT_MATCH"
1751 }
1752 ],
1753 "chroot" : null,
1754 "console" : "CONSOLE_LOG",
1755 "kill_signal" : 15,
1756 "name" : "upstart-udev-bridge",
1757 "instance" : "",
1758 "description" : "Bridge udev events into upstart",
1759 "respawn_interval" : 5,
1760 "process" : [
1761 {
1762 "script" : 0,
1763 "command" : "upstart-udev-bridge --daemon"
1764 },
1765 {
1766 "script" : 0,
1767 "command" : null
1768 },
1769 {
1770 "script" : 0,
1771 "command" : null
1772 },
1773 {
1774 "script" : 0,
1775 "command" : null
1776 },
1777 {
1778 "script" : 0,
1779 "command" : null
1780 },
1781 {
1782 "script" : 0,
1783 "command" : null
1784 }
1785 ],
1786 "apparmor_switch" : null,
1787 "respawn_limit" : 10,
1788 "author" : null,
1789 "respawn" : 1,
1790 "nice" : -21,
1791 "limits" : [
1792 {
1793 "rlim_cur" : 0,
1794 "rlim_max" : 0
1795 },
1796 {
1797 "rlim_cur" : 0,
1798 "rlim_max" : 0
1799 },
1800 {
1801 "rlim_cur" : 0,
1802 "rlim_max" : 0
1803 },
1804 {
1805 "rlim_cur" : 0,
1806 "rlim_max" : 0
1807 },
1808 {
1809 "rlim_cur" : 0,
1810 "rlim_max" : 0
1811 },
1812 {
1813 "rlim_cur" : 0,
1814 "rlim_max" : 0
1815 },
1816 {
1817 "rlim_cur" : 0,
1818 "rlim_max" : 0
1819 },
1820 {
1821 "rlim_cur" : 0,
1822 "rlim_max" : 0
1823 },
1824 {
1825 "rlim_cur" : 0,
1826 "rlim_max" : 0
1827 },
1828 {
1829 "rlim_cur" : 0,
1830 "rlim_max" : 0
1831 },
1832 {
1833 "rlim_cur" : 0,
1834 "rlim_max" : 0
1835 },
1836 {
1837 "rlim_cur" : 0,
1838 "rlim_max" : 0
1839 },
1840 {
1841 "rlim_cur" : 0,
1842 "rlim_max" : 0
1843 },
1844 {
1845 "rlim_cur" : 0,
1846 "rlim_max" : 0
1847 },
1848 {
1849 "rlim_cur" : 0,
1850 "rlim_max" : 0
1851 },
1852 {
1853 "rlim_cur" : 0,
1854 "rlim_max" : 0
1855 }
1856 ],
1857 "oom_score_adj" : 0,
1858 "normalexit" : [],
1859 "kill_timeout" : 5,
1860 "usage" : null,
1861 "env" : [],
1862 "version" : null,
1863 "deleted" : 1,
1864 "task" : 0,
1865 "path" : "/com/ubuntu/Upstart/jobs/upstart_2dudev_2dbridge",
1866 "chdir" : null,
1867 "start_on" : [
1868 {
1869 "env" : [
1870 "udev"
1871 ],
1872 "value" : 0,
1873 "name" : "starting",
1874 "type" : "EVENT_MATCH"
1875 }
1876 ],
1877 "umask" : 18,
1878 "setgid" : null
1879 },
1880 {
1881 "setuid" : null,
1882 "jobs" : [],
1883 "emits" : [],
1884 "session" : 0,
1885 "debug" : 0,
1886 "export" : [],
1887 "reload_signal" : 1,
1888 "expect" : "EXPECT_NONE",
1889 "chroot" : null,
1890 "console" : "CONSOLE_LOG",
1891 "kill_signal" : 15,
1892 "name" : "mountall-net",
1893 "instance" : "",
1894 "description" : "Mount network filesystems",
1895 "respawn_interval" : 5,
1896 "process" : [
1897 {
1898 "script" : 1,
1899 "command" : "PID=$(status mountall 2>/dev/null | sed -e '/start\\/running,/{s/.*,[^0-9]*//;q};d')\n[ -n \"$PID\" ] && kill -USR1 $PID || true\n"
1900 },
1901 {
1902 "script" : 0,
1903 "command" : null
1904 },
1905 {
1906 "script" : 0,
1907 "command" : null
1908 },
1909 {
1910 "script" : 0,
1911 "command" : null
1912 },
1913 {
1914 "script" : 0,
1915 "command" : null
1916 },
1917 {
1918 "script" : 0,
1919 "command" : null
1920 }
1921 ],
1922 "apparmor_switch" : null,
1923 "respawn_limit" : 10,
1924 "author" : null,
1925 "respawn" : 0,
1926 "nice" : -21,
1927 "limits" : [
1928 {
1929 "rlim_cur" : 0,
1930 "rlim_max" : 0
1931 },
1932 {
1933 "rlim_cur" : 0,
1934 "rlim_max" : 0
1935 },
1936 {
1937 "rlim_cur" : 0,
1938 "rlim_max" : 0
1939 },
1940 {
1941 "rlim_cur" : 0,
1942 "rlim_max" : 0
1943 },
1944 {
1945 "rlim_cur" : 0,
1946 "rlim_max" : 0
1947 },
1948 {
1949 "rlim_cur" : 0,
1950 "rlim_max" : 0
1951 },
1952 {
1953 "rlim_cur" : 0,
1954 "rlim_max" : 0
1955 },
1956 {
1957 "rlim_cur" : 0,
1958 "rlim_max" : 0
1959 },
1960 {
1961 "rlim_cur" : 0,
1962 "rlim_max" : 0
1963 },
1964 {
1965 "rlim_cur" : 0,
1966 "rlim_max" : 0
1967 },
1968 {
1969 "rlim_cur" : 0,
1970 "rlim_max" : 0
1971 },
1972 {
1973 "rlim_cur" : 0,
1974 "rlim_max" : 0
1975 },
1976 {
1977 "rlim_cur" : 0,
1978 "rlim_max" : 0
1979 },
1980 {
1981 "rlim_cur" : 0,
1982 "rlim_max" : 0
1983 },
1984 {
1985 "rlim_cur" : 0,
1986 "rlim_max" : 0
1987 },
1988 {
1989 "rlim_cur" : 0,
1990 "rlim_max" : 0
1991 }
1992 ],
1993 "oom_score_adj" : 0,
1994 "normalexit" : [],
1995 "kill_timeout" : 5,
1996 "usage" : null,
1997 "env" : [],
1998 "version" : null,
1999 "task" : 1,
2000 "path" : "/com/ubuntu/Upstart/jobs/mountall_2dnet",
2001 "deleted" : 0,
2002 "chdir" : null,
2003 "start_on" : [
2004 {
2005 "value" : 0,
2006 "name" : "net-device-up",
2007 "type" : "EVENT_MATCH"
2008 }
2009 ],
2010 "umask" : 18,
2011 "setgid" : null
2012 },
2013 {
2014 "setuid" : null,
2015 "jobs" : [],
2016 "emits" : [],
2017 "session" : 0,
2018 "debug" : 0,
2019 "export" : [],
2020 "reload_signal" : 1,
2021 "expect" : "EXPECT_NONE",
2022 "chroot" : null,
2023 "console" : "CONSOLE_LOG",
2024 "kill_signal" : 15,
2025 "name" : "passwd",
2026 "instance" : "",
2027 "description" : "Clear passwd locks",
2028 "respawn_interval" : 5,
2029 "process" : [
2030 {
2031 "script" : 0,
2032 "command" : "rm -f /etc/gshadow.lock /etc/shadow.lock /etc/passwd.lock /etc/group.lock"
2033 },
2034 {
2035 "script" : 0,
2036 "command" : null
2037 },
2038 {
2039 "script" : 0,
2040 "command" : null
2041 },
2042 {
2043 "script" : 0,
2044 "command" : null
2045 },
2046 {
2047 "script" : 0,
2048 "command" : null
2049 },
2050 {
2051 "script" : 0,
2052 "command" : null
2053 }
2054 ],
2055 "apparmor_switch" : null,
2056 "respawn_limit" : 10,
2057 "author" : null,
2058 "respawn" : 0,
2059 "nice" : -21,
2060 "limits" : [
2061 {
2062 "rlim_cur" : 0,
2063 "rlim_max" : 0
2064 },
2065 {
2066 "rlim_cur" : 0,
2067 "rlim_max" : 0
2068 },
2069 {
2070 "rlim_cur" : 0,
2071 "rlim_max" : 0
2072 },
2073 {
2074 "rlim_cur" : 0,
2075 "rlim_max" : 0
2076 },
2077 {
2078 "rlim_cur" : 0,
2079 "rlim_max" : 0
2080 },
2081 {
2082 "rlim_cur" : 0,
2083 "rlim_max" : 0
2084 },
2085 {
2086 "rlim_cur" : 0,
2087 "rlim_max" : 0
2088 },
2089 {
2090 "rlim_cur" : 0,
2091 "rlim_max" : 0
2092 },
2093 {
2094 "rlim_cur" : 0,
2095 "rlim_max" : 0
2096 },
2097 {
2098 "rlim_cur" : 0,
2099 "rlim_max" : 0
2100 },
2101 {
2102 "rlim_cur" : 0,
2103 "rlim_max" : 0
2104 },
2105 {
2106 "rlim_cur" : 0,
2107 "rlim_max" : 0
2108 },
2109 {
2110 "rlim_cur" : 0,
2111 "rlim_max" : 0
2112 },
2113 {
2114 "rlim_cur" : 0,
2115 "rlim_max" : 0
2116 },
2117 {
2118 "rlim_cur" : 0,
2119 "rlim_max" : 0
2120 },
2121 {
2122 "rlim_cur" : 0,
2123 "rlim_max" : 0
2124 }
2125 ],
2126 "oom_score_adj" : 0,
2127 "normalexit" : [],
2128 "kill_timeout" : 5,
2129 "usage" : null,
2130 "env" : [],
2131 "version" : null,
2132 "task" : 1,
2133 "path" : "/com/ubuntu/Upstart/jobs/passwd",
2134 "deleted" : 0,
2135 "chdir" : null,
2136 "start_on" : [
2137 {
2138 "value" : 0,
2139 "name" : "filesystem",
2140 "type" : "EVENT_MATCH"
2141 }
2142 ],
2143 "umask" : 18,
2144 "setgid" : null
2145 },
2146 {
2147 "setuid" : null,
2148 "jobs" : [],
2149 "emits" : [
2150 "deconfiguring-networking",
2151 "unmounted-remote-filesystems"
2152 ],
2153 "session" : 0,
2154 "debug" : 0,
2155 "export" : [
2156 "RUNLEVEL",
2157 "PREVLEVEL"
2158 ],
2159 "reload_signal" : 1,
2160 "expect" : "EXPECT_NONE",
2161 "stop_on" : [
2162 {
2163 "env" : [
2164 "[!$RUNLEVEL]"
2165 ],
2166 "value" : 0,
2167 "name" : "runlevel",
2168 "type" : "EVENT_MATCH"
2169 }
2170 ],
2171 "chroot" : null,
2172 "console" : "CONSOLE_OUTPUT",
2173 "kill_signal" : 15,
2174 "name" : "rc",
2175 "instance" : "",
2176 "description" : "System V runlevel compatibility",
2177 "respawn_interval" : 5,
2178 "process" : [
2179 {
2180 "script" : 0,
2181 "command" : "/etc/init.d/rc $RUNLEVEL"
2182 },
2183 {
2184 "script" : 0,
2185 "command" : null
2186 },
2187 {
2188 "script" : 0,
2189 "command" : null
2190 },
2191 {
2192 "script" : 0,
2193 "command" : null
2194 },
2195 {
2196 "script" : 0,
2197 "command" : null
2198 },
2199 {
2200 "script" : 0,
2201 "command" : null
2202 }
2203 ],
2204 "apparmor_switch" : null,
2205 "respawn_limit" : 10,
2206 "author" : "Scott James Remnant <scott@netsplit.com>",
2207 "respawn" : 0,
2208 "nice" : -21,
2209 "limits" : [
2210 {
2211 "rlim_cur" : 0,
2212 "rlim_max" : 0
2213 },
2214 {
2215 "rlim_cur" : 0,
2216 "rlim_max" : 0
2217 },
2218 {
2219 "rlim_cur" : 0,
2220 "rlim_max" : 0
2221 },
2222 {
2223 "rlim_cur" : 0,
2224 "rlim_max" : 0
2225 },
2226 {
2227 "rlim_cur" : 0,
2228 "rlim_max" : 0
2229 },
2230 {
2231 "rlim_cur" : 0,
2232 "rlim_max" : 0
2233 },
2234 {
2235 "rlim_cur" : 0,
2236 "rlim_max" : 0
2237 },
2238 {
2239 "rlim_cur" : 0,
2240 "rlim_max" : 0
2241 },
2242 {
2243 "rlim_cur" : 0,
2244 "rlim_max" : 0
2245 },
2246 {
2247 "rlim_cur" : 0,
2248 "rlim_max" : 0
2249 },
2250 {
2251 "rlim_cur" : 0,
2252 "rlim_max" : 0
2253 },
2254 {
2255 "rlim_cur" : 0,
2256 "rlim_max" : 0
2257 },
2258 {
2259 "rlim_cur" : 0,
2260 "rlim_max" : 0
2261 },
2262 {
2263 "rlim_cur" : 0,
2264 "rlim_max" : 0
2265 },
2266 {
2267 "rlim_cur" : 0,
2268 "rlim_max" : 0
2269 },
2270 {
2271 "rlim_cur" : 0,
2272 "rlim_max" : 0
2273 }
2274 ],
2275 "oom_score_adj" : 0,
2276 "normalexit" : [],
2277 "kill_timeout" : 5,
2278 "usage" : null,
2279 "env" : [
2280 "INIT_VERBOSE"
2281 ],
2282 "version" : null,
2283 "deleted" : 0,
2284 "task" : 1,
2285 "path" : "/com/ubuntu/Upstart/jobs/rc",
2286 "chdir" : null,
2287 "start_on" : [
2288 {
2289 "env" : [
2290 "[0123456]"
2291 ],
2292 "value" : 0,
2293 "name" : "runlevel",
2294 "type" : "EVENT_MATCH"
2295 }
2296 ],
2297 "umask" : 18,
2298 "setgid" : null
2299 },
2300 {
2301 "setuid" : null,
2302 "jobs" : [],
2303 "emits" : [],
2304 "session" : 0,
2305 "debug" : 0,
2306 "export" : [],
2307 "reload_signal" : 1,
2308 "expect" : "EXPECT_NONE",
2309 "chroot" : null,
2310 "console" : "CONSOLE_LOG",
2311 "kill_signal" : 15,
2312 "name" : "screen-cleanup",
2313 "instance" : "",
2314 "description" : "GNU Screen Cleanup",
2315 "respawn_interval" : 5,
2316 "process" : [
2317 {
2318 "script" : 1,
2319 "command" : "SCREENDIR=/var/run/screen\nif [ -L $SCREENDIR ] || [ ! -d $SCREENDIR ]; then\n\trm -f $SCREENDIR\n\tmkdir $SCREENDIR\n\tchown root:utmp $SCREENDIR\nfi\nfind $SCREENDIR -type p -delete\n# If the local admin has used dpkg-statoverride to install the screen\n# binary with different set[ug]id bits, change the permissions of\n# $SCREENDIR accordingly\nBINARYPERM=`stat -c%a /usr/bin/screen`\nif [ \"$BINARYPERM\" -ge 4000 ]; then\n\tchmod 0755 $SCREENDIR\nelif [ \"$BINARYPERM\" -ge 2000 ]; then\n\tchmod 0775 $SCREENDIR\nelse\n\tchmod 0777 $SCREENDIR\nfi\n"
2320 },
2321 {
2322 "script" : 0,
2323 "command" : null
2324 },
2325 {
2326 "script" : 0,
2327 "command" : null
2328 },
2329 {
2330 "script" : 0,
2331 "command" : null
2332 },
2333 {
2334 "script" : 0,
2335 "command" : null
2336 },
2337 {
2338 "script" : 0,
2339 "command" : null
2340 }
2341 ],
2342 "apparmor_switch" : null,
2343 "respawn_limit" : 10,
2344 "author" : "Dustin Kirkland <kirkland@canonical.com>",
2345 "respawn" : 0,
2346 "nice" : -21,
2347 "limits" : [
2348 {
2349 "rlim_cur" : 0,
2350 "rlim_max" : 0
2351 },
2352 {
2353 "rlim_cur" : 0,
2354 "rlim_max" : 0
2355 },
2356 {
2357 "rlim_cur" : 0,
2358 "rlim_max" : 0
2359 },
2360 {
2361 "rlim_cur" : 0,
2362 "rlim_max" : 0
2363 },
2364 {
2365 "rlim_cur" : 0,
2366 "rlim_max" : 0
2367 },
2368 {
2369 "rlim_cur" : 0,
2370 "rlim_max" : 0
2371 },
2372 {
2373 "rlim_cur" : 0,
2374 "rlim_max" : 0
2375 },
2376 {
2377 "rlim_cur" : 0,
2378 "rlim_max" : 0
2379 },
2380 {
2381 "rlim_cur" : 0,
2382 "rlim_max" : 0
2383 },
2384 {
2385 "rlim_cur" : 0,
2386 "rlim_max" : 0
2387 },
2388 {
2389 "rlim_cur" : 0,
2390 "rlim_max" : 0
2391 },
2392 {
2393 "rlim_cur" : 0,
2394 "rlim_max" : 0
2395 },
2396 {
2397 "rlim_cur" : 0,
2398 "rlim_max" : 0
2399 },
2400 {
2401 "rlim_cur" : 0,
2402 "rlim_max" : 0
2403 },
2404 {
2405 "rlim_cur" : 0,
2406 "rlim_max" : 0
2407 },
2408 {
2409 "rlim_cur" : 0,
2410 "rlim_max" : 0
2411 }
2412 ],
2413 "oom_score_adj" : 0,
2414 "normalexit" : [],
2415 "kill_timeout" : 5,
2416 "usage" : null,
2417 "env" : [],
2418 "version" : null,
2419 "task" : 1,
2420 "path" : "/com/ubuntu/Upstart/jobs/screen_2dcleanup",
2421 "deleted" : 0,
2422 "chdir" : null,
2423 "start_on" : [
2424 {
2425 "value" : 0,
2426 "name" : "filesystem",
2427 "type" : "EVENT_MATCH"
2428 }
2429 ],
2430 "umask" : 18,
2431 "setgid" : null
2432 },
2433 {
2434 "setuid" : null,
2435 "jobs" : [],
2436 "emits" : [],
2437 "session" : 0,
2438 "debug" : 0,
2439 "export" : [],
2440 "reload_signal" : 1,
2441 "expect" : "EXPECT_NONE",
2442 "chroot" : null,
2443 "console" : "CONSOLE_LOG",
2444 "kill_signal" : 15,
2445 "name" : "startpar-bridge",
2446 "instance" : "$JOB-$INSTANCE-$UPSTART_EVENTS",
2447 "description" : "startpar bridge for notification of upstart job start/stop",
2448 "respawn_interval" : 5,
2449 "process" : [
2450 {
2451 "script" : 0,
2452 "command" : "startpar-upstart-inject \"$JOB\" \"$INSTANCE\" \"$UPSTART_EVENTS\""
2453 },
2454 {
2455 "script" : 0,
2456 "command" : null
2457 },
2458 {
2459 "script" : 0,
2460 "command" : null
2461 },
2462 {
2463 "script" : 0,
2464 "command" : null
2465 },
2466 {
2467 "script" : 0,
2468 "command" : null
2469 },
2470 {
2471 "script" : 0,
2472 "command" : null
2473 }
2474 ],
2475 "apparmor_switch" : null,
2476 "respawn_limit" : 10,
2477 "author" : "Steve Langasek <steve.langasek@ubuntu.com>",
2478 "respawn" : 0,
2479 "nice" : -21,
2480 "limits" : [
2481 {
2482 "rlim_cur" : 0,
2483 "rlim_max" : 0
2484 },
2485 {
2486 "rlim_cur" : 0,
2487 "rlim_max" : 0
2488 },
2489 {
2490 "rlim_cur" : 0,
2491 "rlim_max" : 0
2492 },
2493 {
2494 "rlim_cur" : 0,
2495 "rlim_max" : 0
2496 },
2497 {
2498 "rlim_cur" : 0,
2499 "rlim_max" : 0
2500 },
2501 {
2502 "rlim_cur" : 0,
2503 "rlim_max" : 0
2504 },
2505 {
2506 "rlim_cur" : 0,
2507 "rlim_max" : 0
2508 },
2509 {
2510 "rlim_cur" : 0,
2511 "rlim_max" : 0
2512 },
2513 {
2514 "rlim_cur" : 0,
2515 "rlim_max" : 0
2516 },
2517 {
2518 "rlim_cur" : 0,
2519 "rlim_max" : 0
2520 },
2521 {
2522 "rlim_cur" : 0,
2523 "rlim_max" : 0
2524 },
2525 {
2526 "rlim_cur" : 0,
2527 "rlim_max" : 0
2528 },
2529 {
2530 "rlim_cur" : 0,
2531 "rlim_max" : 0
2532 },
2533 {
2534 "rlim_cur" : 0,
2535 "rlim_max" : 0
2536 },
2537 {
2538 "rlim_cur" : 0,
2539 "rlim_max" : 0
2540 },
2541 {
2542 "rlim_cur" : 0,
2543 "rlim_max" : 0
2544 }
2545 ],
2546 "oom_score_adj" : 0,
2547 "normalexit" : [],
2548 "kill_timeout" : 5,
2549 "usage" : null,
2550 "env" : [],
2551 "version" : null,
2552 "task" : 1,
2553 "path" : "/com/ubuntu/Upstart/jobs/startpar_2dbridge",
2554 "deleted" : 0,
2555 "chdir" : null,
2556 "start_on" : [
2557 {
2558 "env" : [
2559 "JOB!=startpar-bridge"
2560 ],
2561 "value" : 0,
2562 "name" : "started",
2563 "type" : "EVENT_MATCH"
2564 },
2565 {
2566 "env" : [
2567 "JOB!=startpar-bridge"
2568 ],
2569 "value" : 0,
2570 "name" : "stopped",
2571 "type" : "EVENT_MATCH"
2572 },
2573 {
2574 "value" : 0,
2575 "type" : "EVENT_OR"
2576 }
2577 ],
2578 "umask" : 18,
2579 "setgid" : null
2580 },
2581 {
2582 "setuid" : null,
2583 "jobs" : [],
2584 "emits" : [],
2585 "session" : 0,
2586 "debug" : 0,
2587 "export" : [],
2588 "reload_signal" : 1,
2589 "expect" : "EXPECT_FORK",
2590 "chroot" : null,
2591 "console" : "CONSOLE_LOG",
2592 "kill_signal" : 15,
2593 "name" : "ureadahead-other",
2594 "instance" : "",
2595 "description" : "Read required files in advance (for other mountpoints)",
2596 "respawn_interval" : 5,
2597 "process" : [
2598 {
2599 "script" : 0,
2600 "command" : "/sbin/ureadahead --daemon $MOUNTPOINT"
2601 },
2602 {
2603 "script" : 0,
2604 "command" : null
2605 },
2606 {
2607 "script" : 0,
2608 "command" : null
2609 },
2610 {
2611 "script" : 0,
2612 "command" : null
2613 },
2614 {
2615 "script" : 0,
2616 "command" : null
2617 },
2618 {
2619 "script" : 0,
2620 "command" : null
2621 }
2622 ],
2623 "apparmor_switch" : null,
2624 "respawn_limit" : 10,
2625 "author" : null,
2626 "respawn" : 0,
2627 "nice" : -21,
2628 "limits" : [
2629 {
2630 "rlim_cur" : 0,
2631 "rlim_max" : 0
2632 },
2633 {
2634 "rlim_cur" : 0,
2635 "rlim_max" : 0
2636 },
2637 {
2638 "rlim_cur" : 0,
2639 "rlim_max" : 0
2640 },
2641 {
2642 "rlim_cur" : 0,
2643 "rlim_max" : 0
2644 },
2645 {
2646 "rlim_cur" : 0,
2647 "rlim_max" : 0
2648 },
2649 {
2650 "rlim_cur" : 0,
2651 "rlim_max" : 0
2652 },
2653 {
2654 "rlim_cur" : 0,
2655 "rlim_max" : 0
2656 },
2657 {
2658 "rlim_cur" : 0,
2659 "rlim_max" : 0
2660 },
2661 {
2662 "rlim_cur" : 0,
2663 "rlim_max" : 0
2664 },
2665 {
2666 "rlim_cur" : 0,
2667 "rlim_max" : 0
2668 },
2669 {
2670 "rlim_cur" : 0,
2671 "rlim_max" : 0
2672 },
2673 {
2674 "rlim_cur" : 0,
2675 "rlim_max" : 0
2676 },
2677 {
2678 "rlim_cur" : 0,
2679 "rlim_max" : 0
2680 },
2681 {
2682 "rlim_cur" : 0,
2683 "rlim_max" : 0
2684 },
2685 {
2686 "rlim_cur" : 0,
2687 "rlim_max" : 0
2688 },
2689 {
2690 "rlim_cur" : 0,
2691 "rlim_max" : 0
2692 }
2693 ],
2694 "oom_score_adj" : 0,
2695 "normalexit" : [
2696 0,
2697 4
2698 ],
2699 "kill_timeout" : 5,
2700 "usage" : null,
2701 "env" : [],
2702 "version" : null,
2703 "task" : 0,
2704 "path" : "/com/ubuntu/Upstart/jobs/ureadahead_2dother",
2705 "deleted" : 0,
2706 "chdir" : null,
2707 "start_on" : [
2708 {
2709 "env" : [
2710 "DEVICE=[/UL]*",
2711 "MOUNTPOINT=/?*"
2712 ],
2713 "value" : 0,
2714 "name" : "mounted",
2715 "type" : "EVENT_MATCH"
2716 }
2717 ],
2718 "umask" : 18,
2719 "setgid" : null
2720 },
2721 {
2722 "setuid" : null,
2723 "jobs" : [],
2724 "emits" : [],
2725 "session" : 0,
2726 "debug" : 0,
2727 "export" : [],
2728 "reload_signal" : 10,
2729 "expect" : "EXPECT_FORK",
2730 "stop_on" : [
2731 {
2732 "env" : [
2733 "[!2345]"
2734 ],
2735 "value" : 0,
2736 "name" : "runlevel",
2737 "type" : "EVENT_MATCH"
2738 }
2739 ],
2740 "chroot" : null,
2741 "console" : "CONSOLE_LOG",
2742 "kill_signal" : 15,
2743 "name" : "whoopsie",
2744 "instance" : "",
2745 "description" : "crash report submission daemon",
2746 "respawn_interval" : 5,
2747 "process" : [
2748 {
2749 "script" : 0,
2750 "command" : "whoopsie"
2751 },
2752 {
2753 "script" : 1,
2754 "command" : " [ -x /usr/bin/ubiquity-dm ] && { stop; exit 0; }\n\n if ! grep report_crashes=true /etc/default/whoopsie -sqi; then\n stop; exit 0\n fi\n"
2755 },
2756 {
2757 "script" : 0,
2758 "command" : null
2759 },
2760 {
2761 "script" : 0,
2762 "command" : null
2763 },
2764 {
2765 "script" : 0,
2766 "command" : null
2767 },
2768 {
2769 "script" : 0,
2770 "command" : null
2771 }
2772 ],
2773 "apparmor_switch" : null,
2774 "respawn_limit" : 10,
2775 "author" : null,
2776 "respawn" : 1,
2777 "nice" : -21,
2778 "limits" : [
2779 {
2780 "rlim_cur" : 0,
2781 "rlim_max" : 0
2782 },
2783 {
2784 "rlim_cur" : 0,
2785 "rlim_max" : 0
2786 },
2787 {
2788 "rlim_cur" : 0,
2789 "rlim_max" : 0
2790 },
2791 {
2792 "rlim_cur" : 0,
2793 "rlim_max" : 0
2794 },
2795 {
2796 "rlim_cur" : 0,
2797 "rlim_max" : 0
2798 },
2799 {
2800 "rlim_cur" : 0,
2801 "rlim_max" : 0
2802 },
2803 {
2804 "rlim_cur" : 0,
2805 "rlim_max" : 0
2806 },
2807 {
2808 "rlim_cur" : 0,
2809 "rlim_max" : 0
2810 },
2811 {
2812 "rlim_cur" : 0,
2813 "rlim_max" : 0
2814 },
2815 {
2816 "rlim_cur" : 0,
2817 "rlim_max" : 0
2818 },
2819 {
2820 "rlim_cur" : 0,
2821 "rlim_max" : 0
2822 },
2823 {
2824 "rlim_cur" : 0,
2825 "rlim_max" : 0
2826 },
2827 {
2828 "rlim_cur" : 0,
2829 "rlim_max" : 0
2830 },
2831 {
2832 "rlim_cur" : 0,
2833 "rlim_max" : 0
2834 },
2835 {
2836 "rlim_cur" : 0,
2837 "rlim_max" : 0
2838 },
2839 {
2840 "rlim_cur" : 0,
2841 "rlim_max" : 0
2842 }
2843 ],
2844 "oom_score_adj" : 0,
2845 "normalexit" : [],
2846 "kill_timeout" : 5,
2847 "usage" : null,
2848 "env" : [
2849 "CRASH_DB_URL=https://daisy.ubuntu.com"
2850 ],
2851 "version" : null,
2852 "deleted" : 0,
2853 "task" : 0,
2854 "path" : "/com/ubuntu/Upstart/jobs/whoopsie",
2855 "chdir" : null,
2856 "start_on" : [
2857 {
2858 "env" : [
2859 "[2345]"
2860 ],
2861 "value" : 0,
2862 "name" : "runlevel",
2863 "type" : "EVENT_MATCH"
2864 }
2865 ],
2866 "umask" : 18,
2867 "setgid" : null
2868 },
2869 {
2870 "setuid" : null,
2871 "jobs" : [
2872 {
2873 "trace_state" : "TRACE_NONE",
2874 "failed" : 0,
2875 "state" : "JOB_RUNNING",
2876 "failed_process" : "PROCESS_INVALID",
2877 "pid" : [
2878 0,
2879 0,
2880 0,
2881 0,
2882 0,
2883 0
2884 ],
2885 "start_env" : [],
2886 "trace_forks" : 0,
2887 "respawn_time" : 0,
2888 "log" : [
2889 {
2890 "path" : null
2891 },
2892 {
2893 "path" : null
2894 },
2895 {
2896 "path" : null
2897 },
2898 {
2899 "path" : null
2900 },
2901 {
2902 "path" : null
2903 },
2904 {
2905 "path" : null
2906 }
2907 ],
2908 "respawn_count" : 0,
2909 "kill_process" : "PROCESS_INVALID",
2910 "stop_on" : [
2911 {
2912 "env" : [
2913 "[!2345]"
2914 ],
2915 "value" : 0,
2916 "name" : "runlevel",
2917 "type" : "EVENT_MATCH"
2918 }
2919 ],
2920 "env" : [
2921 "PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin",
2922 "TERM=linux",
2923 "enabled=1",
2924 "RUNLEVEL=2",
2925 "PREVLEVEL=N",
2926 "UPSTART_EVENTS=runlevel"
2927 ],
2928 "name" : "",
2929 "path" : "/com/ubuntu/Upstart/jobs/apport/_",
2930 "exit_status" : 0,
2931 "goal" : "JOB_START",
2932 "stop_env" : [],
2933 "fds" : []
2934 }
2935 ],
2936 "emits" : [],
2937 "session" : 0,
2938 "debug" : 0,
2939 "export" : [],
2940 "reload_signal" : 1,
2941 "expect" : "EXPECT_NONE",
2942 "stop_on" : [
2943 {
2944 "env" : [
2945 "[!2345]"
2946 ],
2947 "value" : 0,
2948 "name" : "runlevel",
2949 "type" : "EVENT_MATCH"
2950 }
2951 ],
2952 "chroot" : null,
2953 "console" : "CONSOLE_LOG",
2954 "kill_signal" : 15,
2955 "name" : "apport",
2956 "instance" : "",
2957 "description" : "automatic crash report generation",
2958 "respawn_interval" : 5,
2959 "process" : [
2960 {
2961 "script" : 0,
2962 "command" : null
2963 },
2964 {
2965 "script" : 1,
2966 "command" : " . /etc/default/apport\n [ \"$enabled\" = \"1\" ] || [ \"$force_start\" = \"1\" ] || exit 0\n\n mkdir -p -m 1777 /var/crash\n\n # check for kernel crash dump, convert it to apport report\n if [ -e /var/crash/vmcore ] || [ -n \"`ls /var/crash | egrep ^[0-9]{12}$`\" ]\n then\n\t/usr/share/apport/kernel_crashdump || true\n fi\n\n # check for incomplete suspend/resume or hibernate\n if [ -e /var/lib/pm-utils/status ]\n then\n /usr/share/apport/apportcheckresume || true\n rm -f /var/lib/pm-utils/status\n rm -f /var/lib/pm-utils/resume-hang.log\n fi\n\n echo \"|/usr/share/apport/apport %p %s %c\" > /proc/sys/kernel/core_pattern\n echo 2 > /proc/sys/fs/suid_dumpable\n"
2967 },
2968 {
2969 "script" : 0,
2970 "command" : null
2971 },
2972 {
2973 "script" : 0,
2974 "command" : null
2975 },
2976 {
2977 "script" : 1,
2978 "command" : " # Check for a hung resume. If we find one try and grab everything\n # we can to aid in its discovery\n if [ -e /var/lib/pm-utils/status ]\n then\n\tps -wwef > /var/lib/pm-utils/resume-hang.log\n fi\n\n if [ \"`dd if=/proc/sys/kernel/core_pattern count=1 bs=1 2>/dev/null`\" != \"|\" ]\n then\n\texit 1\n else\n\techo 0 > /proc/sys/fs/suid_dumpable\n\techo \"core\" > /proc/sys/kernel/core_pattern\n fi\n"
2979 },
2980 {
2981 "script" : 0,
2982 "command" : null
2983 }
2984 ],
2985 "apparmor_switch" : null,
2986 "respawn_limit" : 10,
2987 "author" : null,
2988 "respawn" : 0,
2989 "nice" : -21,
2990 "limits" : [
2991 {
2992 "rlim_cur" : 0,
2993 "rlim_max" : 0
2994 },
2995 {
2996 "rlim_cur" : 0,
2997 "rlim_max" : 0
2998 },
2999 {
3000 "rlim_cur" : 0,
3001 "rlim_max" : 0
3002 },
3003 {
3004 "rlim_cur" : 0,
3005 "rlim_max" : 0
3006 },
3007 {
3008 "rlim_cur" : 0,
3009 "rlim_max" : 0
3010 },
3011 {
3012 "rlim_cur" : 0,
3013 "rlim_max" : 0
3014 },
3015 {
3016 "rlim_cur" : 0,
3017 "rlim_max" : 0
3018 },
3019 {
3020 "rlim_cur" : 0,
3021 "rlim_max" : 0
3022 },
3023 {
3024 "rlim_cur" : 0,
3025 "rlim_max" : 0
3026 },
3027 {
3028 "rlim_cur" : 0,
3029 "rlim_max" : 0
3030 },
3031 {
3032 "rlim_cur" : 0,
3033 "rlim_max" : 0
3034 },
3035 {
3036 "rlim_cur" : 0,
3037 "rlim_max" : 0
3038 },
3039 {
3040 "rlim_cur" : 0,
3041 "rlim_max" : 0
3042 },
3043 {
3044 "rlim_cur" : 0,
3045 "rlim_max" : 0
3046 },
3047 {
3048 "rlim_cur" : 0,
3049 "rlim_max" : 0
3050 },
3051 {
3052 "rlim_cur" : 0,
3053 "rlim_max" : 0
3054 }
3055 ],
3056 "oom_score_adj" : 0,
3057 "normalexit" : [],
3058 "kill_timeout" : 5,
3059 "usage" : null,
3060 "env" : [
3061 "enabled=1"
3062 ],
3063 "version" : null,
3064 "deleted" : 1,
3065 "task" : 0,
3066 "path" : "/com/ubuntu/Upstart/jobs/apport",
3067 "chdir" : null,
3068 "start_on" : [
3069 {
3070 "env" : [
3071 "[2345]"
3072 ],
3073 "value" : 0,
3074 "name" : "runlevel",
3075 "type" : "EVENT_MATCH"
3076 }
3077 ],
3078 "umask" : 18,
3079 "setgid" : null
3080 },
3081 {
3082 "setuid" : null,
3083 "jobs" : [
3084 {
3085 "trace_state" : "TRACE_NONE",
3086 "failed" : 0,
3087 "state" : "JOB_RUNNING",
3088 "failed_process" : "PROCESS_INVALID",
3089 "pid" : [
3090 796,
3091 0,
3092 0,
3093 0,
3094 0,
3095 0
3096 ],
3097 "start_env" : [],
3098 "trace_forks" : 0,
3099 "respawn_time" : 0,
3100 "log" : [
3101 {
3102 "remote_closed" : 0,
3103 "detached" : 0,
3104 "uid" : 0,
3105 "open_errno" : 9,
3106 "path" : "/var/log/upstart/systemd-logind.log",
3107 "io_watch_fd" : 14,
3108 "fd" : 8
3109 },
3110 {
3111 "path" : null
3112 },
3113 {
3114 "path" : null
3115 },
3116 {
3117 "path" : null
3118 },
3119 {
3120 "path" : null
3121 },
3122 {
3123 "path" : null
3124 }
3125 ],
3126 "respawn_count" : 0,
3127 "kill_process" : "PROCESS_INVALID",
3128 "stop_on" : [
3129 {
3130 "env" : [
3131 "dbus"
3132 ],
3133 "value" : 0,
3134 "name" : "stopping",
3135 "type" : "EVENT_MATCH"
3136 }
3137 ],
3138 "env" : [
3139 "PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin",
3140 "TERM=linux",
3141 "SYSTEMD_LOG_TARGET=syslog",
3142 "JOB=dbus",
3143 "INSTANCE=",
3144 "UPSTART_EVENTS=started"
3145 ],
3146 "name" : "",
3147 "path" : "/com/ubuntu/Upstart/jobs/systemd_2dlogind/_",
3148 "exit_status" : 0,
3149 "goal" : "JOB_START",
3150 "stop_env" : [],
3151 "fds" : []
3152 }
3153 ],
3154 "emits" : [],
3155 "session" : 0,
3156 "debug" : 0,
3157 "export" : [],
3158 "reload_signal" : 1,
3159 "expect" : "EXPECT_NONE",
3160 "stop_on" : [
3161 {
3162 "env" : [
3163 "dbus"
3164 ],
3165 "value" : 0,
3166 "name" : "stopping",
3167 "type" : "EVENT_MATCH"
3168 }
3169 ],
3170 "chroot" : null,
3171 "console" : "CONSOLE_LOG",
3172 "kill_signal" : 15,
3173 "name" : "systemd-logind",
3174 "instance" : "",
3175 "description" : "SystemD login management service",
3176 "respawn_interval" : 5,
3177 "process" : [
3178 {
3179 "script" : 0,
3180 "command" : "/lib/systemd/systemd-logind"
3181 },
3182 {
3183 "script" : 1,
3184 "command" : " # only start if PAM module is actually available, not if libpam-systemd is\n # removed but not purged\n [ -e /lib/*/security/pam_systemd.so ] || { stop; exit 0; }\n\n # this is being done by systemd or mountall usually, but not during\n # upgrades from earlier distro releases\n if ! mountpoint -q /sys/fs/cgroup; then\n mount -t tmpfs -o uid=0,gid=0,mode=0755,size=1024 none /sys/fs/cgroup\n fi\n mkdir -p /run/systemd\n if ! mountpoint -q /sys/fs/cgroup/systemd; then\n mkdir -p /sys/fs/cgroup/systemd\n mount -t cgroup -o nosuid,noexec,nodev,none,name=systemd systemd /sys/fs/cgroup/systemd\n fi\n"
3185 },
3186 {
3187 "script" : 0,
3188 "command" : null
3189 },
3190 {
3191 "script" : 0,
3192 "command" : null
3193 },
3194 {
3195 "script" : 0,
3196 "command" : null
3197 },
3198 {
3199 "script" : 0,
3200 "command" : null
3201 }
3202 ],
3203 "apparmor_switch" : null,
3204 "respawn_limit" : 10,
3205 "author" : null,
3206 "respawn" : 1,
3207 "nice" : -21,
3208 "limits" : [
3209 {
3210 "rlim_cur" : 0,
3211 "rlim_max" : 0
3212 },
3213 {
3214 "rlim_cur" : 0,
3215 "rlim_max" : 0
3216 },
3217 {
3218 "rlim_cur" : 0,
3219 "rlim_max" : 0
3220 },
3221 {
3222 "rlim_cur" : 0,
3223 "rlim_max" : 0
3224 },
3225 {
3226 "rlim_cur" : 0,
3227 "rlim_max" : 0
3228 },
3229 {
3230 "rlim_cur" : 0,
3231 "rlim_max" : 0
3232 },
3233 {
3234 "rlim_cur" : 0,
3235 "rlim_max" : 0
3236 },
3237 {
3238 "rlim_cur" : 16384,
3239 "rlim_max" : 16384
3240 },
3241 {
3242 "rlim_cur" : 0,
3243 "rlim_max" : 0
3244 },
3245 {
3246 "rlim_cur" : 0,
3247 "rlim_max" : 0
3248 },
3249 {
3250 "rlim_cur" : 0,
3251 "rlim_max" : 0
3252 },
3253 {
3254 "rlim_cur" : 0,
3255 "rlim_max" : 0
3256 },
3257 {
3258 "rlim_cur" : 0,
3259 "rlim_max" : 0
3260 },
3261 {
3262 "rlim_cur" : 0,
3263 "rlim_max" : 0
3264 },
3265 {
3266 "rlim_cur" : 0,
3267 "rlim_max" : 0
3268 },
3269 {
3270 "rlim_cur" : 0,
3271 "rlim_max" : 0
3272 }
3273 ],
3274 "oom_score_adj" : 0,
3275 "normalexit" : [],
3276 "kill_timeout" : 5,
3277 "usage" : null,
3278 "env" : [
3279 "SYSTEMD_LOG_TARGET=syslog"
3280 ],
3281 "version" : null,
3282 "deleted" : 1,
3283 "task" : 0,
3284 "path" : "/com/ubuntu/Upstart/jobs/systemd_2dlogind",
3285 "chdir" : null,
3286 "start_on" : [
3287 {
3288 "env" : [
3289 "dbus"
3290 ],
3291 "value" : 0,
3292 "name" : "started",
3293 "type" : "EVENT_MATCH"
3294 }
3295 ],
3296 "umask" : 18,
3297 "setgid" : null
3298 },
3299 {
3300 "setuid" : null,
3301 "jobs" : [
3302 {
3303 "trace_state" : "TRACE_NONE",
3304 "failed" : 0,
3305 "state" : "JOB_RUNNING",
3306 "failed_process" : "PROCESS_INVALID",
3307 "pid" : [
3308 873,
3309 0,
3310 0,
3311 0,
3312 0,
3313 0
3314 ],
3315 "start_env" : [],
3316 "trace_forks" : 0,
3317 "respawn_time" : 0,
3318 "log" : [
3319 {
3320 "path" : null
3321 },
3322 {
3323 "path" : null
3324 },
3325 {
3326 "path" : null
3327 },
3328 {
3329 "path" : null
3330 },
3331 {
3332 "path" : null
3333 },
3334 {
3335 "path" : null
3336 }
3337 ],
3338 "respawn_count" : 0,
3339 "kill_process" : "PROCESS_INVALID",
3340 "stop_on" : [
3341 {
3342 "env" : [
3343 "[!23]"
3344 ],
3345 "value" : 0,
3346 "name" : "runlevel",
3347 "type" : "EVENT_MATCH"
3348 }
3349 ],
3350 "env" : [
3351 "PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin",
3352 "TERM=linux",
3353 "RUNLEVEL=2",
3354 "PREVLEVEL=N",
3355 "UPSTART_EVENTS=runlevel not-container"
3356 ],
3357 "name" : "",
3358 "path" : "/com/ubuntu/Upstart/jobs/tty5/_",
3359 "exit_status" : 0,
3360 "goal" : "JOB_START",
3361 "stop_env" : [],
3362 "fds" : []
3363 }
3364 ],
3365 "emits" : [],
3366 "session" : 0,
3367 "debug" : 0,
3368 "export" : [],
3369 "reload_signal" : 1,
3370 "expect" : "EXPECT_NONE",
3371 "stop_on" : [
3372 {
3373 "env" : [
3374 "[!23]"
3375 ],
3376 "value" : 0,
3377 "name" : "runlevel",
3378 "type" : "EVENT_MATCH"
3379 }
3380 ],
3381 "chroot" : null,
3382 "console" : "CONSOLE_LOG",
3383 "kill_signal" : 15,
3384 "name" : "tty5",
3385 "instance" : "",
3386 "description" : null,
3387 "respawn_interval" : 5,
3388 "process" : [
3389 {
3390 "script" : 0,
3391 "command" : "/sbin/getty -8 38400 tty5"
3392 },
3393 {
3394 "script" : 0,
3395 "command" : null
3396 },
3397 {
3398 "script" : 0,
3399 "command" : null
3400 },
3401 {
3402 "script" : 0,
3403 "command" : null
3404 },
3405 {
3406 "script" : 0,
3407 "command" : null
3408 },
3409 {
3410 "script" : 0,
3411 "command" : null
3412 }
3413 ],
3414 "apparmor_switch" : null,
3415 "respawn_limit" : 10,
3416 "author" : null,
3417 "respawn" : 1,
3418 "nice" : -21,
3419 "limits" : [
3420 {
3421 "rlim_cur" : 0,
3422 "rlim_max" : 0
3423 },
3424 {
3425 "rlim_cur" : 0,
3426 "rlim_max" : 0
3427 },
3428 {
3429 "rlim_cur" : 0,
3430 "rlim_max" : 0
3431 },
3432 {
3433 "rlim_cur" : 0,
3434 "rlim_max" : 0
3435 },
3436 {
3437 "rlim_cur" : 0,
3438 "rlim_max" : 0
3439 },
3440 {
3441 "rlim_cur" : 0,
3442 "rlim_max" : 0
3443 },
3444 {
3445 "rlim_cur" : 0,
3446 "rlim_max" : 0
3447 },
3448 {
3449 "rlim_cur" : 0,
3450 "rlim_max" : 0
3451 },
3452 {
3453 "rlim_cur" : 0,
3454 "rlim_max" : 0
3455 },
3456 {
3457 "rlim_cur" : 0,
3458 "rlim_max" : 0
3459 },
3460 {
3461 "rlim_cur" : 0,
3462 "rlim_max" : 0
3463 },
3464 {
3465 "rlim_cur" : 0,
3466 "rlim_max" : 0
3467 },
3468 {
3469 "rlim_cur" : 0,
3470 "rlim_max" : 0
3471 },
3472 {
3473 "rlim_cur" : 0,
3474 "rlim_max" : 0
3475 },
3476 {
3477 "rlim_cur" : 0,
3478 "rlim_max" : 0
3479 },
3480 {
3481 "rlim_cur" : 0,
3482 "rlim_max" : 0
3483 }
3484 ],
3485 "oom_score_adj" : 0,
3486 "normalexit" : [],
3487 "kill_timeout" : 5,
3488 "usage" : null,
3489 "env" : [],
3490 "version" : null,
3491 "deleted" : 1,
3492 "task" : 0,
3493 "path" : "/com/ubuntu/Upstart/jobs/tty5",
3494 "chdir" : null,
3495 "start_on" : [
3496 {
3497 "env" : [
3498 "[23]"
3499 ],
3500 "value" : 0,
3501 "name" : "runlevel",
3502 "type" : "EVENT_MATCH"
3503 },
3504 {
3505 "value" : 0,
3506 "name" : "not-container",
3507 "type" : "EVENT_MATCH"
3508 },
3509 {
3510 "value" : 0,
3511 "type" : "EVENT_AND"
3512 }
3513 ],
3514 "umask" : 18,
3515 "setgid" : null
3516 },
3517 {
3518 "setuid" : null,
3519 "jobs" : [],
3520 "emits" : [],
3521 "session" : 0,
3522 "debug" : 0,
3523 "export" : [],
3524 "reload_signal" : 1,
3525 "expect" : "EXPECT_NONE",
3526 "chroot" : null,
3527 "console" : "CONSOLE_LOG",
3528 "kill_signal" : 15,
3529 "name" : "console-setup",
3530 "instance" : "",
3531 "description" : "set console keymap",
3532 "respawn_interval" : 5,
3533 "process" : [
3534 {
3535 "script" : 0,
3536 "command" : "loadkeys /etc/console-setup/cached.kmap.gz"
3537 },
3538 {
3539 "script" : 0,
3540 "command" : null
3541 },
3542 {
3543 "script" : 0,
3544 "command" : null
3545 },
3546 {
3547 "script" : 0,
3548 "command" : null
3549 },
3550 {
3551 "script" : 0,
3552 "command" : null
3553 },
3554 {
3555 "script" : 0,
3556 "command" : null
3557 }
3558 ],
3559 "apparmor_switch" : null,
3560 "respawn_limit" : 10,
3561 "author" : null,
3562 "respawn" : 0,
3563 "nice" : -21,
3564 "limits" : [
3565 {
3566 "rlim_cur" : 0,
3567 "rlim_max" : 0
3568 },
3569 {
3570 "rlim_cur" : 0,
3571 "rlim_max" : 0
3572 },
3573 {
3574 "rlim_cur" : 0,
3575 "rlim_max" : 0
3576 },
3577 {
3578 "rlim_cur" : 0,
3579 "rlim_max" : 0
3580 },
3581 {
3582 "rlim_cur" : 0,
3583 "rlim_max" : 0
3584 },
3585 {
3586 "rlim_cur" : 0,
3587 "rlim_max" : 0
3588 },
3589 {
3590 "rlim_cur" : 0,
3591 "rlim_max" : 0
3592 },
3593 {
3594 "rlim_cur" : 0,
3595 "rlim_max" : 0
3596 },
3597 {
3598 "rlim_cur" : 0,
3599 "rlim_max" : 0
3600 },
3601 {
3602 "rlim_cur" : 0,
3603 "rlim_max" : 0
3604 },
3605 {
3606 "rlim_cur" : 0,
3607 "rlim_max" : 0
3608 },
3609 {
3610 "rlim_cur" : 0,
3611 "rlim_max" : 0
3612 },
3613 {
3614 "rlim_cur" : 0,
3615 "rlim_max" : 0
3616 },
3617 {
3618 "rlim_cur" : 0,
3619 "rlim_max" : 0
3620 },
3621 {
3622 "rlim_cur" : 0,
3623 "rlim_max" : 0
3624 },
3625 {
3626 "rlim_cur" : 0,
3627 "rlim_max" : 0
3628 }
3629 ],
3630 "oom_score_adj" : 0,
3631 "normalexit" : [],
3632 "kill_timeout" : 5,
3633 "usage" : null,
3634 "env" : [],
3635 "version" : null,
3636 "task" : 1,
3637 "path" : "/com/ubuntu/Upstart/jobs/console_2dsetup",
3638 "deleted" : 0,
3639 "chdir" : null,
3640 "start_on" : [
3641 {
3642 "value" : 0,
3643 "name" : "virtual-filesystems",
3644 "type" : "EVENT_MATCH"
3645 },
3646 {
3647 "env" : [
3648 "rcS"
3649 ],
3650 "value" : 0,
3651 "name" : "starting",
3652 "type" : "EVENT_MATCH"
3653 },
3654 {
3655 "value" : 0,
3656 "type" : "EVENT_OR"
3657 },
3658 {
3659 "env" : [
3660 "mountall-shell"
3661 ],
3662 "value" : 0,
3663 "name" : "starting",
3664 "type" : "EVENT_MATCH"
3665 },
3666 {
3667 "value" : 0,
3668 "type" : "EVENT_OR"
3669 }
3670 ],
3671 "umask" : 18,
3672 "setgid" : null
3673 },
3674 {
3675 "setuid" : null,
3676 "jobs" : [],
3677 "emits" : [],
3678 "session" : 0,
3679 "debug" : 0,
3680 "export" : [],
3681 "reload_signal" : 1,
3682 "expect" : "EXPECT_NONE",
3683 "chroot" : null,
3684 "console" : "CONSOLE_LOG",
3685 "kill_signal" : 15,
3686 "name" : "hwclock-save",
3687 "instance" : "",
3688 "description" : "save system clock to hardware clock",
3689 "respawn_interval" : 5,
3690 "process" : [
3691 {
3692 "script" : 1,
3693 "command" : ". /etc/default/rcS\n[ \"$UTC\" = \"yes\" ] && tz=\"--utc\" || tz=\"--localtime\"\n[ \"$BADYEAR\" = \"yes\" ] && badyear=\"--badyear\"\nexec hwclock --rtc=/dev/rtc0 --systohc $tz --noadjfile $badyear\n"
3694 },
3695 {
3696 "script" : 0,
3697 "command" : null
3698 },
3699 {
3700 "script" : 0,
3701 "command" : null
3702 },
3703 {
3704 "script" : 0,
3705 "command" : null
3706 },
3707 {
3708 "script" : 0,
3709 "command" : null
3710 },
3711 {
3712 "script" : 0,
3713 "command" : null
3714 }
3715 ],
3716 "apparmor_switch" : null,
3717 "respawn_limit" : 10,
3718 "author" : null,
3719 "respawn" : 0,
3720 "nice" : -21,
3721 "limits" : [
3722 {
3723 "rlim_cur" : 0,
3724 "rlim_max" : 0
3725 },
3726 {
3727 "rlim_cur" : 0,
3728 "rlim_max" : 0
3729 },
3730 {
3731 "rlim_cur" : 0,
3732 "rlim_max" : 0
3733 },
3734 {
3735 "rlim_cur" : 0,
3736 "rlim_max" : 0
3737 },
3738 {
3739 "rlim_cur" : 0,
3740 "rlim_max" : 0
3741 },
3742 {
3743 "rlim_cur" : 0,
3744 "rlim_max" : 0
3745 },
3746 {
3747 "rlim_cur" : 0,
3748 "rlim_max" : 0
3749 },
3750 {
3751 "rlim_cur" : 0,
3752 "rlim_max" : 0
3753 },
3754 {
3755 "rlim_cur" : 0,
3756 "rlim_max" : 0
3757 },
3758 {
3759 "rlim_cur" : 0,
3760 "rlim_max" : 0
3761 },
3762 {
3763 "rlim_cur" : 0,
3764 "rlim_max" : 0
3765 },
3766 {
3767 "rlim_cur" : 0,
3768 "rlim_max" : 0
3769 },
3770 {
3771 "rlim_cur" : 0,
3772 "rlim_max" : 0
3773 },
3774 {
3775 "rlim_cur" : 0,
3776 "rlim_max" : 0
3777 },
3778 {
3779 "rlim_cur" : 0,
3780 "rlim_max" : 0
3781 },
3782 {
3783 "rlim_cur" : 0,
3784 "rlim_max" : 0
3785 }
3786 ],
3787 "oom_score_adj" : 0,
3788 "normalexit" : [],
3789 "kill_timeout" : 5,
3790 "usage" : null,
3791 "env" : [],
3792 "version" : null,
3793 "task" : 1,
3794 "path" : "/com/ubuntu/Upstart/jobs/hwclock_2dsave",
3795 "deleted" : 0,
3796 "chdir" : null,
3797 "start_on" : [
3798 {
3799 "env" : [
3800 "[06]"
3801 ],
3802 "value" : 0,
3803 "name" : "runlevel",
3804 "type" : "EVENT_MATCH"
3805 }
3806 ],
3807 "umask" : 18,
3808 "setgid" : null
3809 },
3810 {
3811 "setuid" : null,
3812 "jobs" : [],
3813 "emits" : [],
3814 "session" : 0,
3815 "debug" : 0,
3816 "export" : [],
3817 "reload_signal" : 1,
3818 "expect" : "EXPECT_FORK",
3819 "stop_on" : [
3820 {
3821 "env" : [
3822 "[!2345]"
3823 ],
3824 "value" : 0,
3825 "name" : "runlevel",
3826 "type" : "EVENT_MATCH"
3827 }
3828 ],
3829 "chroot" : null,
3830 "console" : "CONSOLE_LOG",
3831 "kill_signal" : 15,
3832 "name" : "irqbalance",
3833 "instance" : "",
3834 "description" : "CPU interrupts balancing daemon",
3835 "respawn_interval" : 5,
3836 "process" : [
3837 {
3838 "script" : 1,
3839 "command" : "\ttest -f /etc/default/irqbalance && . /etc/default/irqbalance\n\n\ttest \"$ENABLED\" != \"0\" || exit 0\n\n\tif test \"$ONESHOT\" != \"0\"; then\n\t\tDOPTIONS=\"--oneshot\"\n\tfi\n\n\texec /usr/sbin/irqbalance $DOPTIONS\n\n"
3840 },
3841 {
3842 "script" : 0,
3843 "command" : null
3844 },
3845 {
3846 "script" : 0,
3847 "command" : null
3848 },
3849 {
3850 "script" : 0,
3851 "command" : null
3852 },
3853 {
3854 "script" : 0,
3855 "command" : null
3856 },
3857 {
3858 "script" : 0,
3859 "command" : null
3860 }
3861 ],
3862 "apparmor_switch" : null,
3863 "respawn_limit" : 10,
3864 "author" : "Chuck Short <zulcss@ubuntu.com>",
3865 "respawn" : 0,
3866 "nice" : -21,
3867 "limits" : [
3868 {
3869 "rlim_cur" : 0,
3870 "rlim_max" : 0
3871 },
3872 {
3873 "rlim_cur" : 0,
3874 "rlim_max" : 0
3875 },
3876 {
3877 "rlim_cur" : 0,
3878 "rlim_max" : 0
3879 },
3880 {
3881 "rlim_cur" : 0,
3882 "rlim_max" : 0
3883 },
3884 {
3885 "rlim_cur" : 0,
3886 "rlim_max" : 0
3887 },
3888 {
3889 "rlim_cur" : 0,
3890 "rlim_max" : 0
3891 },
3892 {
3893 "rlim_cur" : 0,
3894 "rlim_max" : 0
3895 },
3896 {
3897 "rlim_cur" : 0,
3898 "rlim_max" : 0
3899 },
3900 {
3901 "rlim_cur" : 0,
3902 "rlim_max" : 0
3903 },
3904 {
3905 "rlim_cur" : 0,
3906 "rlim_max" : 0
3907 },
3908 {
3909 "rlim_cur" : 0,
3910 "rlim_max" : 0
3911 },
3912 {
3913 "rlim_cur" : 0,
3914 "rlim_max" : 0
3915 },
3916 {
3917 "rlim_cur" : 0,
3918 "rlim_max" : 0
3919 },
3920 {
3921 "rlim_cur" : 0,
3922 "rlim_max" : 0
3923 },
3924 {
3925 "rlim_cur" : 0,
3926 "rlim_max" : 0
3927 },
3928 {
3929 "rlim_cur" : 0,
3930 "rlim_max" : 0
3931 }
3932 ],
3933 "oom_score_adj" : 0,
3934 "normalexit" : [],
3935 "kill_timeout" : 5,
3936 "usage" : null,
3937 "env" : [],
3938 "version" : null,
3939 "deleted" : 0,
3940 "task" : 0,
3941 "path" : "/com/ubuntu/Upstart/jobs/irqbalance",
3942 "chdir" : null,
3943 "start_on" : [
3944 {
3945 "env" : [
3946 "[2345]"
3947 ],
3948 "value" : 0,
3949 "name" : "runlevel",
3950 "type" : "EVENT_MATCH"
3951 }
3952 ],
3953 "umask" : 18,
3954 "setgid" : null
3955 },
3956 {
3957 "setuid" : null,
3958 "jobs" : [],
3959 "emits" : [],
3960 "session" : 0,
3961 "debug" : 0,
3962 "export" : [],
3963 "reload_signal" : 1,
3964 "expect" : "EXPECT_NONE",
3965 "chroot" : null,
3966 "console" : "CONSOLE_LOG",
3967 "kill_signal" : 15,
3968 "name" : "plymouth-log",
3969 "instance" : "",
3970 "description" : "Flush boot log to disk",
3971 "respawn_interval" : 5,
3972 "process" : [
3973 {
3974 "script" : 0,
3975 "command" : "/bin/plymouth update-root-fs --read-write"
3976 },
3977 {
3978 "script" : 0,
3979 "command" : null
3980 },
3981 {
3982 "script" : 0,
3983 "command" : null
3984 },
3985 {
3986 "script" : 0,
3987 "command" : null
3988 },
3989 {
3990 "script" : 0,
3991 "command" : null
3992 },
3993 {
3994 "script" : 0,
3995 "command" : null
3996 }
3997 ],
3998 "apparmor_switch" : null,
3999 "respawn_limit" : 10,
4000 "author" : null,
4001 "respawn" : 0,
4002 "nice" : -21,
4003 "limits" : [
4004 {
4005 "rlim_cur" : 0,
4006 "rlim_max" : 0
4007 },
4008 {
4009 "rlim_cur" : 0,
4010 "rlim_max" : 0
4011 },
4012 {
4013 "rlim_cur" : 0,
4014 "rlim_max" : 0
4015 },
4016 {
4017 "rlim_cur" : 0,
4018 "rlim_max" : 0
4019 },
4020 {
4021 "rlim_cur" : 0,
4022 "rlim_max" : 0
4023 },
4024 {
4025 "rlim_cur" : 0,
4026 "rlim_max" : 0
4027 },
4028 {
4029 "rlim_cur" : 0,
4030 "rlim_max" : 0
4031 },
4032 {
4033 "rlim_cur" : 0,
4034 "rlim_max" : 0
4035 },
4036 {
4037 "rlim_cur" : 0,
4038 "rlim_max" : 0
4039 },
4040 {
4041 "rlim_cur" : 0,
4042 "rlim_max" : 0
4043 },
4044 {
4045 "rlim_cur" : 0,
4046 "rlim_max" : 0
4047 },
4048 {
4049 "rlim_cur" : 0,
4050 "rlim_max" : 0
4051 },
4052 {
4053 "rlim_cur" : 0,
4054 "rlim_max" : 0
4055 },
4056 {
4057 "rlim_cur" : 0,
4058 "rlim_max" : 0
4059 },
4060 {
4061 "rlim_cur" : 0,
4062 "rlim_max" : 0
4063 },
4064 {
4065 "rlim_cur" : 0,
4066 "rlim_max" : 0
4067 }
4068 ],
4069 "oom_score_adj" : 0,
4070 "normalexit" : [],
4071 "kill_timeout" : 5,
4072 "usage" : null,
4073 "env" : [],
4074 "version" : null,
4075 "task" : 1,
4076 "path" : "/com/ubuntu/Upstart/jobs/plymouth_2dlog",
4077 "deleted" : 0,
4078 "chdir" : null,
4079 "start_on" : [
4080 {
4081 "value" : 0,
4082 "name" : "filesystem",
4083 "type" : "EVENT_MATCH"
4084 }
4085 ],
4086 "umask" : 18,
4087 "setgid" : null
4088 },
4089 {
4090 "setuid" : null,
4091 "jobs" : [
4092 {
4093 "trace_state" : "TRACE_NONE",
4094 "failed" : 0,
4095 "state" : "JOB_RUNNING",
4096 "failed_process" : "PROCESS_INVALID",
4097 "pid" : [
4098 0,
4099 0,
4100 0,
4101 0,
4102 0,
4103 0
4104 ],
4105 "start_env" : [],
4106 "trace_forks" : 0,
4107 "respawn_time" : 0,
4108 "log" : [
4109 {
4110 "path" : null
4111 },
4112 {
4113 "path" : null
4114 },
4115 {
4116 "path" : null
4117 },
4118 {
4119 "path" : null
4120 },
4121 {
4122 "path" : null
4123 },
4124 {
4125 "path" : null
4126 }
4127 ],
4128 "respawn_count" : 0,
4129 "kill_process" : "PROCESS_INVALID",
4130 "env" : [
4131 "PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin",
4132 "TERM=linux",
4133 "UPSTART_EVENTS=local-filesystems"
4134 ],
4135 "name" : "",
4136 "path" : "/com/ubuntu/Upstart/jobs/mountall_2esh/_",
4137 "exit_status" : 0,
4138 "goal" : "JOB_START",
4139 "stop_env" : [],
4140 "fds" : []
4141 }
4142 ],
4143 "emits" : [],
4144 "session" : 0,
4145 "debug" : 0,
4146 "export" : [],
4147 "reload_signal" : 1,
4148 "expect" : "EXPECT_NONE",
4149 "chroot" : null,
4150 "console" : "CONSOLE_LOG",
4151 "kill_signal" : 15,
4152 "name" : "mountall.sh",
4153 "instance" : "",
4154 "description" : "Signal sysvinit that local filesystems are mounted",
4155 "respawn_interval" : 5,
4156 "process" : [
4157 {
4158 "script" : 0,
4159 "command" : null
4160 },
4161 {
4162 "script" : 0,
4163 "command" : null
4164 },
4165 {
4166 "script" : 0,
4167 "command" : null
4168 },
4169 {
4170 "script" : 0,
4171 "command" : null
4172 },
4173 {
4174 "script" : 0,
4175 "command" : null
4176 },
4177 {
4178 "script" : 0,
4179 "command" : null
4180 }
4181 ],
4182 "apparmor_switch" : null,
4183 "respawn_limit" : 10,
4184 "author" : null,
4185 "respawn" : 0,
4186 "nice" : -21,
4187 "limits" : [
4188 {
4189 "rlim_cur" : 0,
4190 "rlim_max" : 0
4191 },
4192 {
4193 "rlim_cur" : 0,
4194 "rlim_max" : 0
4195 },
4196 {
4197 "rlim_cur" : 0,
4198 "rlim_max" : 0
4199 },
4200 {
4201 "rlim_cur" : 0,
4202 "rlim_max" : 0
4203 },
4204 {
4205 "rlim_cur" : 0,
4206 "rlim_max" : 0
4207 },
4208 {
4209 "rlim_cur" : 0,
4210 "rlim_max" : 0
4211 },
4212 {
4213 "rlim_cur" : 0,
4214 "rlim_max" : 0
4215 },
4216 {
4217 "rlim_cur" : 0,
4218 "rlim_max" : 0
4219 },
4220 {
4221 "rlim_cur" : 0,
4222 "rlim_max" : 0
4223 },
4224 {
4225 "rlim_cur" : 0,
4226 "rlim_max" : 0
4227 },
4228 {
4229 "rlim_cur" : 0,
4230 "rlim_max" : 0
4231 },
4232 {
4233 "rlim_cur" : 0,
4234 "rlim_max" : 0
4235 },
4236 {
4237 "rlim_cur" : 0,
4238 "rlim_max" : 0
4239 },
4240 {
4241 "rlim_cur" : 0,
4242 "rlim_max" : 0
4243 },
4244 {
4245 "rlim_cur" : 0,
4246 "rlim_max" : 0
4247 },
4248 {
4249 "rlim_cur" : 0,
4250 "rlim_max" : 0
4251 }
4252 ],
4253 "oom_score_adj" : 0,
4254 "normalexit" : [],
4255 "kill_timeout" : 5,
4256 "usage" : null,
4257 "env" : [],
4258 "version" : null,
4259 "task" : 0,
4260 "path" : "/com/ubuntu/Upstart/jobs/mountall_2esh",
4261 "deleted" : 1,
4262 "chdir" : null,
4263 "start_on" : [
4264 {
4265 "value" : 0,
4266 "name" : "local-filesystems",
4267 "type" : "EVENT_MATCH"
4268 }
4269 ],
4270 "umask" : 18,
4271 "setgid" : null
4272 },
4273 {
4274 "setuid" : null,
4275 "jobs" : [],
4276 "emits" : [
4277 "failsafe-boot"
4278 ],
4279 "session" : 0,
4280 "debug" : 0,
4281 "export" : [],
4282 "reload_signal" : 1,
4283 "expect" : "EXPECT_NONE",
4284 "stop_on" : [
4285 {
4286 "value" : 0,
4287 "name" : "static-network-up",
4288 "type" : "EVENT_MATCH"
4289 },
4290 {
4291 "env" : [
4292 "rc-sysinit"
4293 ],
4294 "value" : 0,
4295 "name" : "starting",
4296 "type" : "EVENT_MATCH"
4297 },
4298 {
4299 "value" : 0,
4300 "type" : "EVENT_OR"
4301 }
4302 ],
4303 "chroot" : null,
4304 "console" : "CONSOLE_OUTPUT",
4305 "kill_signal" : 15,
4306 "name" : "failsafe",
4307 "instance" : "",
4308 "description" : "Failsafe Boot Delay",
4309 "respawn_interval" : 5,
4310 "process" : [
4311 {
4312 "script" : 1,
4313 "command" : "\t# Determine if plymouth is available\n\tif [ -x /bin/plymouth ] && /bin/plymouth --ping ; then\n\t\tPLYMOUTH=/bin/plymouth\n\telse\n\t\tPLYMOUTH=\":\"\n\tfi\n\n # The point here is to wait for 2 minutes before forcibly booting \n # the system. Anything that is in an \"or\" condition with 'started \n # failsafe' in rc-sysinit deserves consideration for mentioning in\n # these messages. currently only static-network-up counts for that.\n\n\tsleep 20\n\n # Plymouth errors should not stop the script because we *must* reach\n # the end of this script to avoid letting the system spin forever\n # waiting on it to start.\n\t$PLYMOUTH message --text=\"Waiting for network configuration...\" || :\n\tsleep 40\n\n\t$PLYMOUTH message --text=\"Waiting up to 60 more seconds for network configuration...\" || :\n\tsleep 59\n\t$PLYMOUTH message --text=\"Booting system without full network configuration...\" || :\n\n # give user 1 second to see this message since plymouth will go\n # away as soon as failsafe starts.\n\tsleep 1\n exec initctl emit --no-wait failsafe-boot\n"
4314 },
4315 {
4316 "script" : 0,
4317 "command" : null
4318 },
4319 {
4320 "script" : 0,
4321 "command" : "logger -t 'failsafe' -p daemon.warning \"Failsafe of 120 seconds reached.\""
4322 },
4323 {
4324 "script" : 0,
4325 "command" : null
4326 },
4327 {
4328 "script" : 0,
4329 "command" : null
4330 },
4331 {
4332 "script" : 0,
4333 "command" : null
4334 }
4335 ],
4336 "apparmor_switch" : null,
4337 "respawn_limit" : 10,
4338 "author" : "Clint Byrum <clint@ubuntu.com>",
4339 "respawn" : 0,
4340 "nice" : -21,
4341 "limits" : [
4342 {
4343 "rlim_cur" : 0,
4344 "rlim_max" : 0
4345 },
4346 {
4347 "rlim_cur" : 0,
4348 "rlim_max" : 0
4349 },
4350 {
4351 "rlim_cur" : 0,
4352 "rlim_max" : 0
4353 },
4354 {
4355 "rlim_cur" : 0,
4356 "rlim_max" : 0
4357 },
4358 {
4359 "rlim_cur" : 0,
4360 "rlim_max" : 0
4361 },
4362 {
4363 "rlim_cur" : 0,
4364 "rlim_max" : 0
4365 },
4366 {
4367 "rlim_cur" : 0,
4368 "rlim_max" : 0
4369 },
4370 {
4371 "rlim_cur" : 0,
4372 "rlim_max" : 0
4373 },
4374 {
4375 "rlim_cur" : 0,
4376 "rlim_max" : 0
4377 },
4378 {
4379 "rlim_cur" : 0,
4380 "rlim_max" : 0
4381 },
4382 {
4383 "rlim_cur" : 0,
4384 "rlim_max" : 0
4385 },
4386 {
4387 "rlim_cur" : 0,
4388 "rlim_max" : 0
4389 },
4390 {
4391 "rlim_cur" : 0,
4392 "rlim_max" : 0
4393 },
4394 {
4395 "rlim_cur" : 0,
4396 "rlim_max" : 0
4397 },
4398 {
4399 "rlim_cur" : 0,
4400 "rlim_max" : 0
4401 },
4402 {
4403 "rlim_cur" : 0,
4404 "rlim_max" : 0
4405 }
4406 ],
4407 "oom_score_adj" : 0,
4408 "normalexit" : [],
4409 "kill_timeout" : 5,
4410 "usage" : null,
4411 "env" : [],
4412 "version" : null,
4413 "deleted" : 0,
4414 "task" : 0,
4415 "path" : "/com/ubuntu/Upstart/jobs/failsafe",
4416 "chdir" : null,
4417 "start_on" : [
4418 {
4419 "value" : 0,
4420 "name" : "filesystem",
4421 "type" : "EVENT_MATCH"
4422 },
4423 {
4424 "env" : [
4425 "IFACE=lo"
4426 ],
4427 "value" : 0,
4428 "name" : "net-device-up",
4429 "type" : "EVENT_MATCH"
4430 },
4431 {
4432 "value" : 0,
4433 "type" : "EVENT_AND"
4434 }
4435 ],
4436 "umask" : 18,
4437 "setgid" : null
4438 },
4439 {
4440 "setuid" : null,
4441 "jobs" : [
4442 {
4443 "trace_state" : "TRACE_NONE",
4444 "failed" : 0,
4445 "state" : "JOB_RUNNING",
4446 "failed_process" : "PROCESS_INVALID",
4447 "pid" : [
4448 950,
4449 0,
4450 0,
4451 0,
4452 0,
4453 0
4454 ],
4455 "start_env" : [],
4456 "trace_forks" : 1,
4457 "respawn_time" : 0,
4458 "log" : [
4459 {
4460 "path" : null
4461 },
4462 {
4463 "path" : null
4464 },
4465 {
4466 "path" : null
4467 },
4468 {
4469 "path" : null
4470 },
4471 {
4472 "path" : null
4473 },
4474 {
4475 "path" : null
4476 }
4477 ],
4478 "respawn_count" : 0,
4479 "kill_process" : "PROCESS_INVALID",
4480 "stop_on" : [
4481 {
4482 "env" : [
4483 "[!2345]"
4484 ],
4485 "value" : 0,
4486 "name" : "runlevel",
4487 "type" : "EVENT_MATCH"
4488 }
4489 ],
4490 "env" : [
4491 "PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin",
4492 "TERM=linux",
4493 "RUNLEVEL=2",
4494 "PREVLEVEL=N",
4495 "UPSTART_EVENTS=runlevel"
4496 ],
4497 "name" : "",
4498 "path" : "/com/ubuntu/Upstart/jobs/atd/_",
4499 "exit_status" : 0,
4500 "goal" : "JOB_START",
4501 "stop_env" : [],
4502 "fds" : []
4503 }
4504 ],
4505 "emits" : [],
4506 "session" : 0,
4507 "debug" : 0,
4508 "export" : [],
4509 "reload_signal" : 1,
4510 "expect" : "EXPECT_FORK",
4511 "stop_on" : [
4512 {
4513 "env" : [
4514 "[!2345]"
4515 ],
4516 "value" : 0,
4517 "name" : "runlevel",
4518 "type" : "EVENT_MATCH"
4519 }
4520 ],
4521 "chroot" : null,
4522 "console" : "CONSOLE_LOG",
4523 "kill_signal" : 15,
4524 "name" : "atd",
4525 "instance" : "",
4526 "description" : "deferred execution scheduler",
4527 "respawn_interval" : 5,
4528 "process" : [
4529 {
4530 "script" : 0,
4531 "command" : "atd"
4532 },
4533 {
4534 "script" : 0,
4535 "command" : null
4536 },
4537 {
4538 "script" : 0,
4539 "command" : null
4540 },
4541 {
4542 "script" : 0,
4543 "command" : null
4544 },
4545 {
4546 "script" : 0,
4547 "command" : null
4548 },
4549 {
4550 "script" : 0,
4551 "command" : null
4552 }
4553 ],
4554 "apparmor_switch" : null,
4555 "respawn_limit" : 10,
4556 "author" : null,
4557 "respawn" : 1,
4558 "nice" : -21,
4559 "limits" : [
4560 {
4561 "rlim_cur" : 0,
4562 "rlim_max" : 0
4563 },
4564 {
4565 "rlim_cur" : 0,
4566 "rlim_max" : 0
4567 },
4568 {
4569 "rlim_cur" : 0,
4570 "rlim_max" : 0
4571 },
4572 {
4573 "rlim_cur" : 0,
4574 "rlim_max" : 0
4575 },
4576 {
4577 "rlim_cur" : 0,
4578 "rlim_max" : 0
4579 },
4580 {
4581 "rlim_cur" : 0,
4582 "rlim_max" : 0
4583 },
4584 {
4585 "rlim_cur" : 0,
4586 "rlim_max" : 0
4587 },
4588 {
4589 "rlim_cur" : 0,
4590 "rlim_max" : 0
4591 },
4592 {
4593 "rlim_cur" : 0,
4594 "rlim_max" : 0
4595 },
4596 {
4597 "rlim_cur" : 0,
4598 "rlim_max" : 0
4599 },
4600 {
4601 "rlim_cur" : 0,
4602 "rlim_max" : 0
4603 },
4604 {
4605 "rlim_cur" : 0,
4606 "rlim_max" : 0
4607 },
4608 {
4609 "rlim_cur" : 0,
4610 "rlim_max" : 0
4611 },
4612 {
4613 "rlim_cur" : 0,
4614 "rlim_max" : 0
4615 },
4616 {
4617 "rlim_cur" : 0,
4618 "rlim_max" : 0
4619 },
4620 {
4621 "rlim_cur" : 0,
4622 "rlim_max" : 0
4623 }
4624 ],
4625 "oom_score_adj" : 0,
4626 "normalexit" : [],
4627 "kill_timeout" : 5,
4628 "usage" : null,
4629 "env" : [],
4630 "version" : null,
4631 "deleted" : 1,
4632 "task" : 0,
4633 "path" : "/com/ubuntu/Upstart/jobs/atd",
4634 "chdir" : null,
4635 "start_on" : [
4636 {
4637 "env" : [
4638 "[2345]"
4639 ],
4640 "value" : 0,
4641 "name" : "runlevel",
4642 "type" : "EVENT_MATCH"
4643 }
4644 ],
4645 "umask" : 18,
4646 "setgid" : null
4647 },
4648 {
4649 "setuid" : null,
4650 "jobs" : [
4651 {
4652 "trace_state" : "TRACE_NONE",
4653 "failed" : 0,
4654 "state" : "JOB_RUNNING",
4655 "failed_process" : "PROCESS_INVALID",
4656 "pid" : [
4657 758,
4658 0,
4659 0,
4660 0,
4661 0,
4662 0
4663 ],
4664 "start_env" : [],
4665 "trace_forks" : 0,
4666 "respawn_time" : 0,
4667 "log" : [
4668 {
4669 "path" : null
4670 },
4671 {
4672 "path" : null
4673 },
4674 {
4675 "path" : null
4676 },
4677 {
4678 "path" : null
4679 },
4680 {
4681 "path" : null
4682 },
4683 {
4684 "path" : null
4685 }
4686 ],
4687 "respawn_count" : 0,
4688 "kill_process" : "PROCESS_INVALID",
4689 "stop_on" : [
4690 {
4691 "value" : 0,
4692 "name" : "deconfiguring-networking",
4693 "type" : "EVENT_MATCH"
4694 }
4695 ],
4696 "env" : [
4697 "PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin",
4698 "TERM=linux",
4699 "UPSTART_EVENTS=local-filesystems"
4700 ],
4701 "name" : "",
4702 "path" : "/com/ubuntu/Upstart/jobs/dbus/_",
4703 "exit_status" : 0,
4704 "goal" : "JOB_START",
4705 "stop_env" : [],
4706 "fds" : []
4707 }
4708 ],
4709 "emits" : [],
4710 "session" : 0,
4711 "debug" : 0,
4712 "export" : [],
4713 "reload_signal" : 1,
4714 "expect" : "EXPECT_FORK",
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches