Welcome to little lamb

Code » anopa » jjk » tree

[jjk] / doc / aa-kill.pod

=head1 NAME

aa-kill - Send signals to (almost) all processes

=head1 SYNOPSIS

B<aa-kill> [B<-D>] [B<-O> I<FILE|FD>] [B<-u>] [B<-t>] [B<-k>] [B<-s>]

=head1 OPTIONS

=over

=item B<-D, --double-output>

Enable double-output mode. Instead of using stdout for regular output, and
stderr for warnings and errors, everything is sent both to stdout and stderr.
This is intended to redirect stderr to a log file, so full output can be both
shown on console and logged.

B<Deprecation warning:> Note that this option has been deprecated and will be
removed in the next version; You should use B<--log-file> instead.

=item B<-h, --help>

Show help screen and exit.

=item B<-k, --kill>

Send SIGKILL

=item B<-O, --log-file> I<FILE|FD>

Will duplicate all output (everything written to stdout or stderr) to the given
file or file descriptor. I<FILE|FD> can either be a (previously opened for
writing) file descriptor (must be > 2), or a file which will then be opened in
append mode.

=item B<-s, --skip>

Skip processes whose argv[0][0] is '@' This can be useful to ignore some
long-running processes that needs to be dealt with e.g. back in the initramfs,
only after umounting the root filesystem.

=item B<-t, --term>

Send SIGTERM then SIGCONT

=item B<-u, --hup>

Send SIGHUP

=item B<-V, --version>

Show version information and exit.

=back

=head1 DESCRIPTION

B<aa-kill>(1) can be used to send signals to (almost) all running processes. It
is for example used during stage 3, after B<aa-stop>(1) and before
B<aa-pivot>(1) to kill any & all procesess that may have not been stopped
otherwise.

By default it sends nothing, so at least one of B<--hup>, B<--term> or B<--kill>
must be specified. You can combine them to send all specified signals. They will
always be sent in that order (SIGHUP, SIGTERM/SIGCONT, SIGKILL).

If B<--skip> was not used, signals are sent using B<kill>(3) with a pid of -1.
If B<--skip> was used, B<aa-kill>(1) will then scan through I</proc> to list all
running processes, and check their argv[0][0] (i.e. I</proc/PID/cmdline>) to
skip any that starts with an '@' Also skipped will be process without cmdline
(i.e. kernel threads), PID 1, and B<aa-kill>(1) itself.

Note that B<aa-kill>(1) will ignore the signals it sends when B<--skip> isn't
used, though that won't do much against SIGKILL.

=head1 RETURN CODES

Return codes are somewhat unified inside B<anopa>. Odd return codes represent
fatal errors, and are detailled in B<anopa-rc>(1)

B<aa-kill>(1) does not have even return codes.