569
.B console output\fR|\fBowner
570
By default the standard input, output and error file descriptors of jobs
574
If this stanza is specified, they are connected to
579
is special, it not only connects the job to the system console but sets
580
the job to be the owner of the system console, which means it will receive
581
certain signals from the kernel when special key combinations such as
582
Control\-C are pressed.
574
.B console \fBnone\fR|\fBlog\fR|\fBoutput\fR|\fBowner\fR
579
If \fBnone\fR is specified, the jobs standard input, standard output
580
and standard error file descriptors are connected to
582
Any output generated by a job will be discarded.
583
This used to be the default prior to the introduction of \fBlog\fR in
593
Only applies to system jobs:
594
if specified by user jobs, the job will be considered to have specified
598
For system jobs, if \fBlog\fR is specified, standard input is connected
601
and standard output and standard error are connected to a pseudo-tty
602
which logs all job output.
604
Output is logged to file
605
.IR /var/log/upstart/<job-log-file> "."
606
If a job has specified \fBinstance\fR,
609
.I <job>-<instance>.log
610
where \(aq<instance>\(aq is replaced by the specific instance value and
611
\(aq<job>\(aq is replaced with the job name (job configuration file
612
name, without the extension). If \fBinstance\fR is not specified,
616
where \(aq<job>\(aq is replaced with the job name.
618
If log files already exist, they are appended to.
620
All slash (\(aq/\(aq) characters in
622
are replaced with underscore (\(aq_\(aq) characters. For example,
623
any output from the \(aqwibble\(aq instance of the \(aqfoo/bar\(aq job
624
would be encoded in file \(aqfoo_bar-wibble.log\(aq in the log file
625
directory. This gives the log file directory a flat structure.
627
If the directory for system jobs does not exist, job output for each job
628
will be cached until the job finishes. Thus, the boot process
630
ensure that the directory is available as soon as possible since any job
631
that finishes before a writeable disk is available will not be able to
632
take advantage of this facility.
634
If it is not possible to write to any log file due to lack of disk
635
space, the job will be considered to have specified a
639
and all subsequent job output will be discarded.
641
Care should be taken if the log directory is a mount point since any job
642
that starts before that mount is available and which produces output will
643
then attempt to write logs to the mount point, not to the mounted
644
directory. This may give the impression that log data has not been
645
recorded. A strategy to handle this situation is to ensure the mount
646
point directory is not writeable such that logs will only be written
647
when the mount has succeeded (assuming the mount itself is writeable and
648
has sufficient space).
652
utilizes pseudo-ttys, it may be necessary to increase the number of
653
available pty devices; see
663
If \fBoutput\fR is specified, the standard input, standard output and
664
standard error file descriptors are connected to
673
The \fBowner\fR value is special: it not only connects the job to the
674
system console but sets the job to be the owner of the system console,
675
which means it will receive certain signals from the kernel when special
676
key combinations such as Control\-C are pressed.
585
681
.B umask \fIUMASK
660
756
may be specified for either.
759
.B setuid \fIUSERNAME
762
before running the job's process.
764
If this stanza is unspecified, the job will run as root in the case of
765
system jobs, and as the user in the case of User Jobs.
767
Note that System jobs using the setuid stanza are still system jobs,
768
and can not be controlled by an unprivileged user, even if the setuid
769
stanza specifies that user.
772
.B setgid \fIGROUPNAME
775
before running the job's process.
777
If this stanza is unspecified, the primary group of the user specified
780
block is used. If both stanzas are unspecified, the job will run with
781
its group ID set to 0 in the case of system jobs, and as the primary
782
group of the user in the case of User Jobs.
662
784
.SS Override File Handling
663
785
Override files allow a jobs environment to be changed without modifying
664
786
the jobs configuration file. Rules governing override files:
789
911
the condtion is satisfied. Avoid using complex conditions with jobs
790
912
which need to be restarted.
918
System job configuration files.
921
.I /etc/init/*.override
922
System job override files.
925
.I $HOME/.init/*.conf
926
User job configuration files.
927
Note that you may make the directory
930
.BR $HOME/.config/upstart/ "."
933
.I $HOME/.init/*.override
934
User job override files.
937
.I /var/log/upstart/*.log
938
Default location of system job output logs.
793
942
Manual page written by Scott James Remnant
794
943
.RB < scott@netsplit.com >