SENDMAIL-General Commands Manual

1
2
NAME
- sendmail - Postfix to Sendmail compatibility interface

SYNOPSIS

1
2
3
4
5
6
7
sendmail [option ...] [recipient ...]

mailq
sendmail -bp

newaliases
sendmail -I

DESCRIPTION

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
The Postfix sendmail(1) command implements the Postfix to Sendmail com‐
patibility interface. For the sake of compatibility with existing
applications, some Sendmail command-line options are recognized but
silently ignored.

By default, Postfix sendmail(1) reads a message from standard input
until EOF or until it reads a line with only a . character, and
arranges for delivery. Postfix sendmail(1) relies on the postdrop(1)
command to create a queue file in the maildrop directory.

Specific command aliases are provided for other common modes of opera‐
tion:

mailq List the mail queue. Each entry shows the queue file ID, message
size, arrival time, sender, and the recipients that still need
to be delivered. If mail could not be delivered upon the last
attempt, the reason for failure is shown. The queue ID string is
followed by an optional status character:

* The message is in the active queue, i.e. the message is
selected for delivery.

! The message is in the hold queue, i.e. no further deliv‐
ery attempt will be made until the mail is taken off
hold.

This mode of operation is implemented by executing the
postqueue(1) command.

newaliases
Initialize the alias database. If no input file is specified
(with the -oA option, see below), the program processes the
file(s) specified with the alias_database configuration parame‐
ter. If no alias database type is specified, the program uses
the type specified with the default_database_type configuration
parameter. This mode of operation is implemented by running the
postalias(1) command.

Note: it may take a minute or so before an alias database update
becomes visible. Use the "postfix reload" command to eliminate
this delay.

These and other features can be selected by specifying the appropriate
combination of command-line options. Some features are controlled by
parameters in the main.cf configuration file.

The following options are recognized:

-Am (ignored)

-Ac (ignored)
Postfix sendmail uses the same configuration file regardless of
whether or not a message is an initial submission.

-B body_type
The message body MIME type: 7BIT or 8BITMIME.

-bd Go into daemon mode. This mode of operation is implemented by
executing the "postfix start" command.

-bh (ignored)

-bH (ignored)
Postfix has no persistent host status database.

-bi Initialize alias database. See the newaliases command above.

-bl Go into daemon mode. To accept only local connections as with
Sendmail´s -bl option, specify "inet_interfaces = loopback" in
the Postfix main.cf configuration file.

-bm Read mail from standard input and arrange for delivery. This is
the default mode of operation.

-bp List the mail queue. See the mailq command above.

-bs Stand-alone SMTP server mode. Read SMTP commands from standard
input, and write responses to standard output. In stand-alone
SMTP server mode, mail relaying and other access controls are
disabled by default. To enable them, run the process as the
mail_owner user.

This mode of operation is implemented by running the smtpd(8)
daemon.

-bv Do not collect or deliver a message. Instead, send an email
report after verifying each recipient address. This is useful
for testing address rewriting and routing configurations.

This feature is available in Postfix version 2.1 and later.

-C config_file

-C config_dir
The path name of the Postfix main.cf file, or of its parent
directory. This information is ignored with Postfix versions
before 2.3.

With Postfix version 3.2 and later, a non-default directory must
be authorized in the default main.cf file, through the alter‐
nate_config_directories or multi_instance_directories parame‐
ters.

With all Postfix versions, you can specify a directory pathname
with the MAIL_CONFIG environment variable to override the loca‐
tion of configuration files.

-F full_name
Set the sender full name. This overrides the NAME environment
variable, and is used only with messages that have no From: mes‐
sage header.

-f sender
Set the envelope sender address. This is the address where
delivery problems are sent to. With Postfix versions before 2.1,
the Errors-To: message header overrides the error return
address.

-G Gateway (relay) submission, as opposed to initial user submis‐
sion. Either do not rewrite addresses at all, or update incom‐
plete addresses with the domain information specified with
remote_header_rewrite_domain.

This option is ignored before Postfix version 2.3.

-h hop_count (ignored)
Hop count limit. Use the hopcount_limit configuration parameter
instead.

-I Initialize alias database. See the newaliases command above.

-i When reading a message from standard input, don´t treat a line
with only a . character as the end of input.

-L label (ignored)
The logging label. Use the syslog_name configuration parameter
instead.

-m (ignored)
Backwards compatibility.

-N dsn (default: 'delay, failure')
Delivery status notification control. Specify either a
comma-separated list with one or more of failure (send notifica‐
tion when delivery fails), delay (send notification when deliv‐
ery is delayed), or success (send notification when the message
is delivered); or specify never (don't send any notifications at
all).

This feature is available in Postfix 2.3 and later.

-n (ignored)
Backwards compatibility.

-oAalias_database
Non-default alias database. Specify pathname or type:pathname.
See postalias(1) for details.

-O option=value (ignored)
Set the named option to value. Use the equivalent configuration
parameter in main.cf instead.

-o7 (ignored)

-o8 (ignored)
To send 8-bit or binary content, use an appropriate MIME encap‐
sulation and specify the appropriate -B command-line option.

-oi When reading a message from standard input, don´t treat a line
with only a . character as the end of input.

-om (ignored)
The sender is never eliminated from alias etc. expansions.

-o x value (ignored)
Set option x to value. Use the equivalent configuration parame‐
ter in main.cf instead.

-r sender
Set the envelope sender address. This is the address where
delivery problems are sent to. With Postfix versions before 2.1,
the Errors-To: message header overrides the error return
address.

-R return
Delivery status notification control. Specify "hdrs" to return
only the header when a message bounces, "full" to return a full
copy (the default behavior).

The -R option specifies an upper bound; Postfix will return only
the header, when a full copy would exceed the bounce_size_limit
setting.

This option is ignored before Postfix version 2.10.

-q Attempt to deliver all queued mail. This is implemented by exe‐
cuting the postqueue(1) command.

Warning: flushing undeliverable mail frequently will result in
poor delivery performance of all other mail.

-qinterval (ignored)
The interval between queue runs. Use the queue_run_delay config‐
uration parameter instead.

-qIqueueid
Schedule immediate delivery of mail with the specified queue ID.
This option is implemented by executing the postqueue(1) com‐
mand, and is available with Postfix version 2.4 and later.

-qRsite
Schedule immediate delivery of all mail that is queued for the
named site. This option accepts only site names that are eligi‐
ble for the "fast flush" service, and is implemented by execut‐
ing the postqueue(1) command. See flush(8) for more information
about the "fast flush" service.

-qSsite
This command is not implemented. Use the slower "sendmail -q"
command instead.

-t Extract recipients from message headers. These are added to any
recipients specified on the command line.

With Postfix versions prior to 2.1, this option requires that no
recipient addresses are specified on the command line.

-U (ignored)
Initial user submission.

-V envid
Specify the envelope ID for notification by servers that support
DSN.

This feature is available in Postfix 2.3 and later.

-XV (Postfix 2.2 and earlier: -V)
Variable Envelope Return Path. Given an envelope sender address
of the form owner-listname@origin, each recipient user@domain
receives mail with a personalized envelope sender address.

By default, the personalized envelope sender address is
owner-listname+user=domain@origin. The default + and = charac‐
ters are configurable with the default_verp_delimiters configu‐
ration parameter.

-XVxy (Postfix 2.2 and earlier: -Vxy)
As -XV, but uses x and y as the VERP delimiter characters,
instead of the characters specified with the default_verp_delim‐
iters configuration parameter.

-v Send an email report of the first delivery attempt (Postfix ver‐
sions 2.1 and later). Mail delivery always happens in the back‐
ground. When multiple -v options are given, enable verbose log‐
ging for debugging purposes.

-X log_file (ignored)
Log mailer traffic. Use the debug_peer_list and debug_peer_level
configuration parameters instead.

SECURITY

1
2
3
By design, this program is not set-user (or group) id. However, it must
handle data from untrusted, possibly remote, users. Thus, the usual
precautions need to be taken against malicious inputs.

DIAGNOSTICS

1
Problems are logged to syslogd(8) and to the standard error stream.

ENVIRONMENT

1
2
3
4
5
6
7
8
9
10
11
12
MAIL_CONFIG
Directory with Postfix configuration files.

MAIL_VERBOSE (value does not matter)
Enable verbose logging for debugging purposes.

MAIL_DEBUG (value does not matter)
Enable debugging with an external command, as specified with the
debugger_command configuration parameter.

NAME The sender full name. This is used only with messages that have
no From: message header. See also the -F option above.

CONFIGURATION PARAMETERS

1
2
3
The  following  main.cf parameters are especially relevant to this pro‐
gram. The text below provides only a parameter summary. See post‐
conf(5) for more details including examples.

COMPATIBILITY CONTROLS

1
2
3
4
5
Available with Postfix 2.9 and later:

sendmail_fix_line_endings (always)
Controls how the Postfix sendmail command converts email message
line endings from <CR><LF> into UNIX format (<LF>).

TROUBLE SHOOTING CONTROLS

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
The DEBUG_README file gives examples of how to trouble shoot a  Postfix
system.

debugger_command (empty)
The external command to execute when a Postfix daemon program is
invoked with the -D option.

debug_peer_level (2)
The increment in verbose logging level when a remote client or
server matches a pattern in the debug_peer_list parameter.

debug_peer_list (empty)
Optional list of remote client or server hostname or network
address patterns that cause the verbose logging level to
increase by the amount specified in $debug_peer_level.

ACCESS CONTROLS

1
2
3
4
5
6
7
8
9
10
11
12
Available in Postfix version 2.2 and later:

authorized_flush_users (static:anyone)
List of users who are authorized to flush the queue.

authorized_mailq_users (static:anyone)
List of users who are authorized to view the queue.

authorized_submit_users (static:anyone)
List of users who are authorized to submit mail with the send‐
mail(1) command (and with the privileged postdrop(1) helper com‐
mand).

RESOURCE AND RATE CONTROLS

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
bounce_size_limit (50000)
The maximal amount of original message text that is sent in a
non-delivery notification.

fork_attempts (5)
The maximal number of attempts to fork() a child process.

fork_delay (1s)
The delay between attempts to fork() a child process.

hopcount_limit (50)
The maximal number of Received: message headers that is allowed
in the primary message headers.

queue_run_delay (300s)
The time between deferred queue scans by the queue manager;
prior to Postfix 2.4 the default value was 1000s.

FAST FLUSH CONTROLS

1
2
3
4
5
6
The ETRN_README file describes configuration and operation details  for
the Postfix "fast flush" service.

fast_flush_domains ($relay_domains)
Optional list of destinations that are eligible for per-destina‐
tion logfiles with mail that is queued to those destinations.

VERP CONTROLS

1
2
3
4
5
6
7
8
9
The VERP_README file describes configuration and operation  details  of
Postfix support for variable envelope return path addresses.

default_verp_delimiters (+=)
The two default VERP delimiter characters.

verp_delimiter_filter (-=+)
The characters Postfix accepts as VERP delimiter characters on
the Postfix sendmail(1) command line and in SMTP commands.

MISCELLANEOUS CONTROLS

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
alias_database (see 'postconf -d' output)
The alias databases for local(8) delivery that are updated with
"newaliases" or with "sendmail -bi".

command_directory (see 'postconf -d' output)
The location of all postfix administrative commands.

config_directory (see 'postconf -d' output)
The default location of the Postfix main.cf and master.cf con‐
figuration files.

daemon_directory (see 'postconf -d' output)
The directory with Postfix support programs and daemon programs.

default_database_type (see 'postconf -d' output)
The default database type for use in newaliases(1), postalias(1)
and postmap(1) commands.

delay_warning_time (0h)
The time after which the sender receives a copy of the message
headers of mail that is still queued.

import_environment (see 'postconf -d' output)
The list of environment parameters that a privileged Postfix
process will import from a non-Postfix parent process, or
name=value environment overrides.

mail_owner (postfix)
The UNIX system account that owns the Postfix queue and most
Postfix daemon processes.

queue_directory (see 'postconf -d' output)
The location of the Postfix top-level queue directory.

remote_header_rewrite_domain (empty)
Don't rewrite message headers from remote clients at all when
this parameter is empty; otherwise, rewrite message headers and
append the specified domain name to incomplete addresses.

syslog_facility (mail)
The syslog facility of Postfix logging.

syslog_name (see 'postconf -d' output)
A prefix that is prepended to the process name in syslog
records, so that, for example, "smtpd" becomes "prefix/smtpd".

Postfix 3.2 and later:

alternate_config_directories (empty)
A list of non-default Postfix configuration directories that may
be specified with "-c config_directory" on the command line (in
the case of sendmail(1), with the "-C" option), or via the
MAIL_CONFIG environment parameter.

multi_instance_directories (empty)
An optional list of non-default Postfix configuration directo‐
ries; these directories belong to additional Postfix instances
that share the Postfix executable files and documentation with
the default Postfix instance, and that are started, stopped,
etc., together with the default Postfix instance.

FILES

1
2
/var/spool/postfix, mail queue
/etc/postfix, configuration files

SEE ALSO

1
2
3
4
5
6
7
8
9
10
pickup(8), mail pickup daemon
qmgr(8), queue manager
smtpd(8), SMTP server
flush(8), fast flush service
postsuper(1), queue maintenance
postalias(1), create/update/query alias database
postdrop(1), mail posting utility
postfix(1), mail system control
postqueue(1), mail queue control
syslogd(8), system logging

README_FILES

1
2
3
4
5
Use  "postconf readme_directory" or "postconf html_directory" to locate
this information.
DEBUG_README, Postfix debugging howto
ETRN_README, Postfix ETRN howto
VERP_README, Postfix VERP howto

LICENSE

1
The Secure Mailer license must be distributed with this software.

AUTHOR(S)

1
2
3
4
5
6
7
8
9
Wietse Venema
IBM T.J. Watson Research
P.O. Box 704
Yorktown Heights, NY 10598, USA

Wietse Venema
Google, Inc.
111 8th Avenue
New York, NY 10011, USA

ps-man

1
2
NAME
- ps -- process status

SYNOPSIS

1
2
ps [-AaCcEefhjlMmrSTvwXx] [-O fmt | -o fmt] [-G gid[,gid...]] [-g grp[,grp...]] [-u uid[,uid...]] [-p pid[,pid...]] [-t tty[,tty...]] [-U user[,user...]]
ps [-L]

DESCRIPTION

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
The ps utility displays a header line, followed by lines containing information about all of your processes that have controlling terminals.
A different set of processes can be selected for display by using any combination of the -a, -G, -g, -p, -T, -t, -U, and -u options. If more than one of these options are given, then ps will select all processes which are matched by at least one of the given options.
For the processes which have been selected for display, ps will usually display one line per process. The -M option may result in multiple output lines (one line per thread) for some processes. By default all of these output lines are sorted first by controlling terminal, then by process ID. The -m, -r, and -v options will change the sort order. If more than one sorting option was given, then the selected processes will be sorted by the last sorting option which was specified.
For the processes which have been selected for display, the information to display is selected based on a set of keywords (see the -L, -O, and -o options). The default output format includes, for each process, the process‘ ID, controlling terminal, CPU time (including both user and system time), state, and associated command.
The options are as follows:
-A Display information about other users‘ processes, including those without controlling terminals.
-a Display information about other users‘ processes as well as your own. This will skip any processes which do not have a controlling terminal, unless the -x option is also specified.
-C Change the way the CPU percentage is calculated by using a ``raw‘‘ CPU calculation that ignores ``resident‘‘ time (this normally has no effect).
-c Change the ``command‘‘ column output to just contain the executable name, rather than the full command line.
-d Like -A, but excludes session leaders.
-E Display the environment as well. This does not reflect changes in the environment after process launch.
-e Identical to -A.
-f Display the uid, pid, parent pid, recent CPU usage, process start time, controlling tty, elapsed CPU usage, and the associated command. If the -u option is also used, display the user name rather then the numeric uid. When -o or -O is used to add to the display following -f, the command field is not truncated as severely as it is in other formats.
-G Display information about processes which are running with the specified real group IDs.
-g Display information about processes with the specified process group leaders.
-h Repeat the information header as often as necessary to guarantee one header per page of information.
-j Print information associated with the following keywords: user, pid, ppid, pgid, sess, jobc, state, tt, time, and command.
-L List the set of keywords available for the -O and -o options.
-l Display information associated with the following keywords: uid, pid, ppid, flags, cpu, pri, nice, vsz=SZ, rss, wchan, state=S, paddr=ADDR, tty, time, and command=CMD.
-M Print the threads corresponding to each task.
-m Sort by memory usage, instead of the combination of controlling terminal and process ID.
-O Add the information associated with the space or comma separated list of keywords specified, after the process ID, in the default information display. Keywords may be appended with an equals (`=‘) sign and a string. This causes the printed header to use the specified string instead of the standard header.
-o Display information associated with the space or comma separated list of keywords specified. Multiple keywords may also be given in the form of more than one -o option. Keywords may be appended with an equals (`=‘) sign and a string. This causes the printed header to use the specified string instead of the standard header. If all keywords have empty header texts, no header line is written.
-p Display information about processes which match the specified process IDs.
-r Sort by current CPU usage, instead of the combination of controlling terminal and process ID.
-S Change the way the process time is calculated by summing all exited children to their parent process.
-T Display information about processes attached to the device associated with the standard input.
-t Display information about processes attached to the specified terminal devices.
-U Display the processes belonging to the specified real user IDs.
-u Display the processes belonging to the specified usernames.
-v Display information associated with the following keywords: pid, state, time, sl, re, pagein, vsz, rss, lim, tsiz, %cpu, %mem, and command. The -v option implies the -m option.
-w Use 132 columns to display information, instead of the default which is your window size. If the -w option is specified more than once, ps will use as many columns as necessary without regard for your window size. When output is not to a terminal, an unlimited number of columns are always used.
-X When displaying processes matched by other options, skip any processes which do not have a controlling terminal.
-x When displaying processes matched by other options, include processes which do not have a controlling terminal. This is the opposite of the -X option. If both -X and -x are specified in the same command, then ps will use the one which was specified last.
A complete list of the available keywords is given below. Some of these keywords are further specified as follows:
%cpu The CPU utilization of the process; this is a decaying average over up to a minute of previous (real) time. Because the time base over which this is computed varies (some processes may be very young), it is possible for the sum of all %cpu fields to exceed 100%.
%mem The percentage of real memory used by this process.
flags The flags associated with the process as in the include file <sys/proc.h>:
P_ADVLOCK 0x00001 Process may hold a POSIX advisory lock
P_CONTROLT 0x00002 Has a controlling terminal
P_LP64 0x00004 Process is LP64
P_NOCLDSTOP 0x00008 No SIGCHLD when children stop
P_PPWAIT 0x00010 Parent is waiting for child to exec/exit
P_PROFIL 0x00020 Has started profiling
P_SELECT 0x00040 Selecting; wakeup/waiting danger
P_CONTINUED 0x00080 Process was stopped and continued
P_SUGID 0x00100 Had set id privileges since last exec
P_SYSTEM 0x00200 System proc: no sigs, stats or swapping
P_TIMEOUT 0x00400 Timing out during sleep
P_TRACED 0x00800 Debugged process being traced
P_WAITED 0x01000 Debugging process has waited for child
P_WEXIT 0x02000 Working on exiting
P_EXEC 0x04000 Process called exec
P_OWEUPC 0x08000 Owe process an addupc() call at next ast
P_WAITING 0x40000 Process has a wait() in progress
P_KDEBUG 0x80000 Kdebug tracing on for this process
lim The soft limit on memory used, specified via a call to setrlimit(2).
lstart The exact time the command started, using the `%c‘ format described in strftime(3).
nice The process scheduling increment (see setpriority(2)).
rss the real memory (resident set) size of the process (in 1024 byte units).
start The time the command started. If the command started less than 24 hours ago, the start time is displayed using the ``%l:ps.1p‘‘ format described in strftime(3). If the command started less than 7 days ago, the start time is displayed using the ``%a6.15p‘‘ format. Otherwise, the start time is displayed using the ``%e%b%y‘‘ format.
state The state is given by a sequence of characters, for example, ``RWNA‘‘. The first character indicates the run state of the process:
I Marks a process that is idle (sleeping for longer than about 20 seconds).
R Marks a runnable process.
S Marks a process that is sleeping for less than about 20 seconds.
T Marks a stopped process.
U Marks a process in uninterruptible wait.
Z Marks a dead process (a ``zombie‘‘).
Additional characters after these, if any, indicate additional state information:
+ The process is in the foreground process group of its control terminal.
< The process has raised CPU scheduling priority.
> The process has specified a soft limit on memory requirements and is currently exceeding that limit; such a process is (necessarily) not swapped.
A the process has asked for random page replacement (VA_ANOM, from vadvise(2), for example, lisp(1) in a garbage collect).
E The process is trying to exit.
L The process has pages locked in core (for example, for raw I/O).
N The process has reduced CPU scheduling priority (see setpriority(2)).
S The process has asked for FIFO page replacement (VA_SEQL, from vadvise(2), for example, a large image processing program using virtual memory to sequentially address voluminous data).
s The process is a session leader.
V The process is suspended during a vfork(2).
W The process is swapped out.
X The process is being traced or debugged.
tt An abbreviation for the pathname of the controlling terminal, if any. The abbreviation consists of the three letters following /dev/tty, or, for the console, ``con‘‘. This is followed by a `-‘ if the process can no longer reach that controlling terminal (i.e., it has been revoked).
wchan The event (an address in the system) on which a process waits. When printed numerically, the initial part of the address is trimmed off and the result is printed in hex, for example, 0x80324000 prints as 324000.
When printing using the command keyword, a process that has exited and has a parent that has not yet waited for the process (in other words, a zombie) is listed as ``<defunct>‘‘, and a process which is blocked while trying to exit is listed as ``<exiting>‘‘. If the arguments cannot be located (usually because it has not been set, as is the case of system processes and/or kernel threads) the command name is printed within square brackets. The process can change the arguments shown with setproctitle(3). Otherwise, ps makes an educated guess as to the file name and arguments given when the process was created by examining memory or the swap area. The method is inherently somewhat unreliable and in any event a process is entitled to destroy this information. The ucomm (accounting) keyword can, however, be depended on. If the arguments are unavailable or do not agree with the ucomm keyword, the value for the ucomm keyword is appended to the arguments in parentheses.

KEYWORDS

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
The following is a complete list of the available keywords and their meanings.  Several of them have aliases (keywords which are synonyms).
%cpu percentage CPU usage (alias pcpu)
%mem percentage memory usage (alias pmem)
acflag accounting flag (alias acflg)
args command and arguments
comm command
command command and arguments
cpu short-term CPU usage factor (for scheduling)
etime elapsed running time
flags the process flags, in hexadecimal (alias f)
gid processes group id (alias group)
inblk total blocks read (alias inblock)
jobc job control count
ktrace tracing flags
ktracep tracing vnode
lim memoryuse limit
logname login name of user who started the session
lstart time started
majflt total page faults
minflt total page reclaims
msgrcv total messages received (reads from pipes/sockets)
msgsnd total messages sent (writes on pipes/sockets)
nice nice value (alias ni)
nivcsw total involuntary context switches
nsigs total signals taken (alias nsignals)
nswap total swaps in/out
nvcsw total voluntary context switches
nwchan wait channel (as an address)
oublk total blocks written (alias oublock)
p_ru resource usage (valid only for zombie)
paddr swap address
pagein pageins (same as majflt)
pgid process group number
pid process ID
ppid parent process ID
pri scheduling priority
re core residency time (in seconds; 127 = infinity)
rgid real group ID
rss resident set size
ruid real user ID
ruser user name (from ruid)
sess session ID
sig pending signals (alias pending)
sigmask blocked signals (alias blocked)
sl sleep time (in seconds; 127 = infinity)
start time started
state symbolic process state (alias stat)
svgid saved gid from a setgid executable
svuid saved UID from a setuid executable
tdev control terminal device number
time accumulated CPU time, user + system (alias cputime)
tpgid control terminal process group ID
tsess control terminal session ID
tsiz text size (in Kbytes)
tt control terminal name (two letter abbreviation)
tty full name of control terminal
ucomm name to be used for accounting
uid effective user ID
upr scheduling priority on return from system call (alias usrpri)
user user name (from UID)
utime user CPU time (alias putime)
vsz virtual size in Kbytes (alias vsize)
wchan wait channel (as a symbolic name)
wq total number of workqueue threads
wqb number of blocked workqueue threads
wqr number of running workqueue threads
wql workqueue limit status (C = constrained thread limit, T = total thread limit)
xstat exit or stop status (valid only for stopped or zombie process)

ENVIRONMENT

1
2
The following environment variables affect the execution of ps:
COLUMNS If set, specifies the user‘s preferred output width in column positions. By default, ps attempts to automatically determine the terminal width.

FILES

1
2
3
4
/dev                 special files and device names
/var/run/dev.db /dev name database
/var/db/kvm_kernel.db
system namelist database

LEGACY DESCRIPTION

1
2
3
4
5
6
7
In legacy mode, ps functions as described above, with the following differences:
-e Display the environment as well. Same as -E.
-g Ignored for compatibility. Takes no argument.
-l Display information associated with the following keywords: uid, pid, ppid, cpu, pri, nice, vsz, rss, wchan, state, tt, time, and command.
-u Display information associated with the following keywords: user, pid, %cpu, %mem, vsz, rss, tt, state, start, time, and command. The -u option implies the -r option.
The biggest change is in the interpretation of the -u option, which now displays processes belonging to the specified username(s). Thus, "ps -aux" will fail (unless you want to know about user "x"). As a convenience, however, "ps aux" still works as it did in Tiger.
For more information about legacy mode, see compat(5).

SEE ALSO

1
kill(1), w(1), kvm(3), strftime(3), sysctl(8)

STANDARDS

1
The ps utility supports the Version 3 of the Single UNIX Specification (``SUSv3‘‘) standard.

HISTORY

1
The ps command appeared in Version 4 AT&T UNIX.

BUGS

1
2
Since ps cannot run faster than the system and is run as any other scheduled process, the information it displays can never be exact.
The ps utility does not correctly display argument lists containing multibyte characters.

crontab-man

SYNOPSIS

1
2
crontab [ -u user ] file
crontab [ -u user ] [ -i ] { -e | -l | -r }

DESCRIPTION

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
crontab  is  the  program used to install, deinstall or list the tables
used to drive the cron(8) daemon in Vixie Cron. Each user can have
their own crontab, and though these are files in
/var/spool/cron/crontabs, they are not intended to be edited directly.

If the /etc/cron.allow file exists, then you must be listed (one user
per line) therein in order to be allowed to use this command. If the
/etc/cron.allow file does not exist but the /etc/cron.deny file does
exist, then you must not be listed in the /etc/cron.deny file in order
to use this command.

If neither of these files exists, then depending on site-dependent con‐
figuration parameters, only the super user will be allowed to use this
command, or all users will be able to use this command.

If both files exist then /etc/cron.allow takes precedence. Which means
that /etc/cron.deny is not considered and your user must be listed in
/etc/cron.allow in order to be able to use the crontab.

Regardless of the existance of any of these files, the root administra‐
tive user is always allowed to setup a crontab. For standard Debian
systems, all users may use this command.

If the -u option is given, it specifies the name of the user whose
crontab is to be used (when listing) or modified (when editing). If
this option is not given, crontab examines "your" crontab, i.e., the
crontab of the person executing the command. Note that su(8) can con‐
fuse crontab and that if you are running inside of su(8) you should
always use the -u option for safety's sake.

The first form of this command is used to install a new crontab from
some named file or standard input if the pseudo-filename ``-'' is
given.

The -l option causes the current crontab to be displayed on standard
output. See the note under DEBIAN SPECIFIC below.

The -r option causes the current crontab to be removed.

The -e option is used to edit the current crontab using the editor
specified by the VISUAL or EDITOR environment variables. After you
exit from the editor, the modified crontab will be installed automati‐
cally. If neither of the environment variables is defined, then the
default editor /usr/bin/editor is used.

The -i option modifies the -r option to prompt the user for a 'y/Y'
response before actually removing the crontab.

DEBIAN SPECIFIC

1
2
3
4
5
6
7
8
9
10
11
12
13
The  "out-of-the-box"  behaviour for crontab -l is to display the three
line "DO NOT EDIT THIS FILE" header that is placed at the beginning of
the crontab when it is installed. The problem is that it makes the
sequence

crontab -l | crontab -

non-idempotent -- you keep adding copies of the header. This causes
pain to scripts that use sed to edit a crontab. Therefore, the default
behaviour of the -l option has been changed to not output such header.
You may obtain the original behaviour by setting the environment vari‐
able CRONTAB_NOHEADER to 'N', which will cause the crontab -l command
to emit the extraneous header.

SEE ALSO

1
crontab(5), cron(8)

FILES

1
2
3
4
5
6
7
8
9
10
11
/etc/cron.allow
/etc/cron.deny
/var/spool/cron/crontabs

There is one file for each user's crontab under the
/var/spool/cron/crontabs directory. Users are not allowed to edit the
files under that directory directly to ensure that only users allowed
by the system to run periodic tasks can add them, and only syntacti‐
cally correct crontabs will be written there. This is enforced by hav‐
ing the directory writable only by the crontab group and configuring
crontab command with the setgid bid set for that specific group.

STANDARDS

1
2
3
The  crontab command conforms to IEEE Std1003.2-1992 (``POSIX'').  This
new command syntax differs from previous versions of Vixie Cron, as
well as from the classic SVR3 syntax.

DIAGNOSTICS

1
2
3
4
5
6
A  fairly  informative  usage  message appears if you run it with a bad
command line.

cron requires that each entry in a crontab end in a newline character.
If the last entry in a crontab is missing the newline, cron will con‐
sider the crontab (at least partially) broken and refuse to install it.

AUTHOR

1
2
3
Paul Vixie <paul@vix.com> is the author of cron and original creator of
this manual page. This page has also been modified for Debian by Steve
Greenland, Javier Fernandez-Sanguino and Christian Kastner.