History log of /freebsd-current/usr.bin/killall/killall.c
Revision Date Author Comments
# 5e3934b1 24-Nov-2023 Warner Losh <imp@FreeBSD.org>

usr.bin: Automated cleanup of cdefs and other formatting

Apply the following automated changes to try to eliminate
no-longer-needed sys/cdefs.h includes as well as now-empty
blank lines in a row.

Remove /^#if.*\n#endif.*\n#include\s+<sys/cdefs.h>.*\n/
Remove /\n+#include\s+<sys/cdefs.h>.*\n+#if.*\n#endif.*\n+/
Remove /\n+#if.*\n#endif.*\n+/
Remove /^#if.*\n#endif.*\n/
Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/types.h>/
Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/param.h>/
Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/capsicum.h>/

Sponsored by: Netflix


# 1d386b48 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

Remove $FreeBSD$: one-line .c pattern

Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/


# 4d846d26 10-May-2023 Warner Losh <imp@FreeBSD.org>

spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD

The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch
up to that fact and revert to their recommended match of BSD-2-Clause.

Discussed with: pfg
MFC After: 3 days
Sponsored by: Netflix


# e442917e 30-Nov-2022 Daniel Dowse <freebsd-bugs@daemonbytes.net>

killall(1): allow sending signals to processes with control terminal on pts(4)

PR: 268093
Reviewed by: kib
MFC after: 1 week


# bcd34af4 02-Oct-2019 Alexander Kabaev <kan@FreeBSD.org>

Revert r352953: Convert pnmatch to single element array in regexec calls

Requested by: cem


# c5672dd7 02-Oct-2019 Alexander Kabaev <kan@FreeBSD.org>

Convert pnmatch to single element array in regexec calls

The regexec function is declared as taking an array of regmatch_t
elements, and passing in the pointer to singleton element, while
correct, triggers a Coverity warning. Convert the singleton into
an array of one to silence the warning.

Reported by: Coverity
Coverity CID: 1009732, 1009733
MFC after: 2 weeks


# 1de7b4b8 27-Nov-2017 Pedro F. Giffuni <pfg@FreeBSD.org>

various: general adoption of SPDX licensing ID tags.

Mainly focus on files that use BSD 2-Clause license, however the tool I
was using misidentified many licenses so this was mostly a manual - error
prone - task.

The Software Package Data Exchange (SPDX) group provides a specification
to make it easier for automated tools to detect and summarize well known
opensource licenses. We are gradually adopting the specification, noting
that the tags are considered only advisory and do not, in any way,
superceed or replace the license texts.

No functional change intended.


# 9b337054 17-Dec-2014 Gleb Kurtsou <gleb@FreeBSD.org>

Adjust printf format specifiers for dev_t and ino_t in user space.

ino_t and dev_t are about to become uint64_t.

Reviewed by: kib, mckusick


# 6f17dec9 16-Jan-2014 Christian S.J. Peron <csjp@FreeBSD.org>

Re-work r260800 to include other signals which start with 'I'
such as ILL, INFO etc..

Submitted by: delphij
MFC after: 2 weeks


# dedf0f34 16-Jan-2014 Christian S.J. Peron <csjp@FreeBSD.org>

fix a regression introduced in r237618 that would result in
killall confusing killall -INT with killall -I (interactive
confirmation) which resulted in the wrong signal (TERM)
being delivered to the process(s).

Discussed with: delphij
MFC after: 2 weeks


# 214e0878 30-Jun-2013 Mateusz Guzik <mjg@FreeBSD.org>

killall: add -q flag to suppress error message when no processes are matched

Man-page text provided by wblock.

PR: bin/30542
Submitted by: Tony Finch <dot@dotat.at> (original version)
MFC after: 1 week


# c517bc15 30-Jun-2012 Konstantin Belousov <kib@FreeBSD.org>

Once in a month, when the moon is full, killall mistakenly considers
living process as a zombie and refuses to kill it. The cause is that
the code masks ki_stat with SZOMB to compare with SZOMB, but ki_stat
is not a mask.

Possibly reported by: cperciva
MFC after: 3 days


# 407e615c 30-Jun-2012 Konstantin Belousov <kib@FreeBSD.org>

killall(1) does not use libkvm.

MFC after: 3 days


# a488a0f1 30-Jun-2012 Konstantin Belousov <kib@FreeBSD.org>

Only initialize array of mibs once.

MFC after: 3 days


# 40bcb503 30-Jun-2012 Konstantin Belousov <kib@FreeBSD.org>

Initialize procs closer to the place were it is used.
Free can properly handle NULL pointer (but keep free() call on the premise
that the code might be reused).
Show errno when realloc failed.

MFC after: 3 days


# 8d5ec393 26-Jun-2012 Xin LI <delphij@FreeBSD.org>

Add a -I flag which requests confirmation before action, like what is done
in pkill(1).

MFC after: 2 weeks


# de555084 06-Mar-2011 Jilles Tjoelker <jilles@FreeBSD.org>

Simplify various code that allowed for sys_signame being lower case.

This was changed in r218285.


# 12dacf62 04-Feb-2011 Jilles Tjoelker <jilles@FreeBSD.org>

Make sys_signame upper case.

This matches the constants from <signal.h> with 'SIG' removed, which POSIX
requires kill and trap to accept and 'kill -l' to write.

'kill -l', 'trap', 'trap -l' output is now upper case.

In Turkish locales, signal names with an upper case 'I' are now accepted,
while signal names with a lower case 'i' are no longer accepted, and the
output of 'killall -l' now contains proper capital 'I' without dot instead
of a dotted capital 'I'.


# a7d5f7eb 19-Oct-2010 Jamie Gritton <jamie@FreeBSD.org>

A new jail(8) with a configuration file, to replace the work currently done
by /etc/rc.d/jail.


# fe0506d7 09-Mar-2010 Marcel Moolenaar <marcel@FreeBSD.org>

Create the altix project branch. The altix project will add support
for the SGI Altix 350 to FreeBSD/ia64. The hardware used for porting
is a two-module system, consisting of a base compute module and a
CPU expansion module. SGI's NUMAFlex architecture can be an excellent
platform to test CPU affinity and NUMA-aware features in FreeBSD.


# 821df508 12-Dec-2009 Xin LI <delphij@FreeBSD.org>

Revert most part of 200420 as requested, as more review and polish is
needed.


# 6f2d3221 11-Dec-2009 Xin LI <delphij@FreeBSD.org>

Remove unneeded header includes from usr.bin/ except contributed code.

Tested with: make universe


# de6f3704 24-Jun-2009 Jamie Gritton <jamie@FreeBSD.org>

Add libjail, a (somewhat) simpler interface to the jail_set and jail_get
system calls and the security.jail.param sysctls.

Approved by: bz (mentor)


# 73d0971b 27-May-2009 Jamie Gritton <jamie@FreeBSD.org>

Add support for the arbitrary named jail parameters used by jail_set(2)
and jail_get(2). Jail(8) can now create jails using a "name=value"
format instead of just specifying a limited set of fixed parameters; it
can also modify parameters of existing jails. Jls(8) can display all
parameters of jails, or a specified set of parameters. The available
parameters are gathered from the kernel, and not hard-coded into these
programs.

Small patches on killall(1) and jexec(8) to support jail names with
jail_get(2).

Approved by: bz (mentor)


# 5c13cfe0 18-Nov-2008 Xin LI <delphij@FreeBSD.org>

Use strlcpy() where appropriate.


# d7f03759 19-Oct-2008 Ulf Lilleengen <lulf@FreeBSD.org>

- Import the HEAD csup code which is the basis for the cvsmode work.


# b8272c91 09-Nov-2007 Ruslan Ermilov <ru@FreeBSD.org>

Fix numerous bugs when parsing options and arguments.


# 79d0f70f 29-Jul-2004 Maxim Konovalov <maxim@FreeBSD.org>

The signal number has to be less than NSIG strictly.

PR: misc/69768
Submitted by: bronek
MFC after: 1 week


# fe1ba53c 15-Jul-2004 Tim J. Robbins <tjr@FreeBSD.org>

Don't pass negative values into <ctype.h> functions on machines
with signed chars.


# ee6b783c 15-Jul-2004 Tim J. Robbins <tjr@FreeBSD.org>

Print size_t with %zu, not %d.


# c5453cb4 15-Jul-2004 Tim J. Robbins <tjr@FreeBSD.org>

Respect locale settings from the environment.


# 5aa41214 26-Jan-2004 Diomidis Spinellis <dds@FreeBSD.org>

New -e flag, modifies the behavior of the -u uid flag to use the
effective user id, instead of the real user id.

MFC after: 2 weeks


# b4e148e9 22-Jan-2004 Colin Percival <cperciva@FreeBSD.org>

Serial murderers shouldn't commit suicide. (killall should
avoid killing itself.)

PR: bin/46107
Submitted by: stacey <stacey_@starwhack.net>


# 6dcfd347 18-Jan-2004 Maxim Konovalov <maxim@FreeBSD.org>

o Sync usage() and man page synopsis with reality.

MFC after: 1 week


# f2dd06ab 27-Sep-2003 Tim J. Robbins <tjr@FreeBSD.org>

Use the 3-component version of the KERN_PROC_PROC sysctl.


# 2c801d3d 07-Sep-2003 Tim J. Robbins <tjr@FreeBSD.org>

Use KERN_PROC_PROC instead of KERN_PROC_ALL when enumerating processes so
that we kill each process once, not once for every thread it owns. This
avoids "No such process" warnings when killing threaded processes.


# 6a31ec40 27-Apr-2003 Warner Losh <imp@FreeBSD.org>

make "killall -j" not core dump.

Submitted by: Joe Marcus Clarke in current@


# ebf5d9bc 08-Apr-2003 Mike Barcroft <mike@FreeBSD.org>

o Add jls(8) for listing active jails.
o Add jexec(8) to execute a command in an existing jail.
o Add -j option for killall(1) to kill all processes in a specified
jail.
o Add -i option to jail(8) to output jail ID of newly created jail.


# aaa9487d 05-Feb-2003 Philippe Charnier <charnier@FreeBSD.org>

Header was included twice. Hardcode program name in usage string.


# e026a48c 29-Jun-2002 David E. O'Brien <obrien@FreeBSD.org>

Consistently use FBSDID


# a79a73ab 20-May-2002 Dima Dorfman <dd@FreeBSD.org>

Mark a warning as such. Without this, it isn't obvious whether
killall stopped after failing to kill one process or whether it kept
going.


# a2fefc8d 14-Apr-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Skip zombies. Add an option (-z) to revert to the historical behaviour
of trying to kill zombies (which has no effect except emit a few error
messages)


# fb757ee2 30-Mar-2002 David Malone <dwmalone@FreeBSD.org>

Use the method described in the strtol man page to check if it parsed
the entire string. This avoids signed/unsigned comparison.


# 6eabd845 10-Oct-2001 Bruce Evans <bde@FreeBSD.org>

Compensate for "Compensate for header dethreading" by backing it out.


# 0d1b691e 12-Jun-2001 David E. O'Brien <obrien@FreeBSD.org>

Allow -u to work with UID's also.

Submitted by: Seth Kingsley <seth.kingsley@windriver.com>


# 49a4598b 16-May-2001 Poul-Henning Kamp <phk@FreeBSD.org>

Fix an array which was too small.

PR: 27380
Submitted by: Samuel Greear <sgreear@vsni.com>


# 6e547eab 01-May-2001 Mark Murray <markm@FreeBSD.org>

Compensate for header dethreading.


# 69179c14 14-Feb-2001 Peter Wemm <peter@FreeBSD.org>

Work around the p_comm[] size limit. If the user supplies more than
16 characters, only check the first 16 since that is all the kernel
records. This isn't ideal, but it is probably the best we can do.
Otherwise, "killall communicator-linux-4.76.bin" will not match
the process as the kernel only records "communicator-lin".


# 6e1dea06 20-Jan-2001 Andrey A. Chernov <ache@FreeBSD.org>

Make "killall -t p0" really works.
Old code works only if at least one process name additionly specified.


# 88522a2e 25-Dec-2000 Paul Saab <ps@FreeBSD.org>

Use the real user ID so non-root users can kill setuid processes
they started.

PR: 23356
Submitted by: Maxim Konovalov <maxim@macomnet.ru>


# 93480bce 12-Dec-2000 John Baldwin <jhb@FreeBSD.org>

Catch up to the new kinfo_proc.


# ecc50bd4 12-Nov-2000 Paul Saab <ps@FreeBSD.org>

-U cannot be an option since some signals start with U. -u is the
documented behavior so only check for that.


# 8750ed5f 28-Aug-2000 Peter Wemm <peter@FreeBSD.org>

After positive feedback from a few folks, activate a switchover to
using killall.c instead of the perl version that depends on procfs.
The C version uses sysctl(). The program is based on a hack that was
originally written about 6 years ago and has evolved somewhat since then.
(which is why it is a superset of killall.pl, rather than being a clone.)

With apologies to: wosch


# e1669132 26-Aug-2000 Peter Wemm <peter@FreeBSD.org>

Try and fix up some bogus indentation leftovers from emacs several
years ago.


# a0388467 26-Aug-2000 Peter Wemm <peter@FreeBSD.org>

Sigh, today is not my day. Convert a verbose while() .. loop into a for()
loop.

Submitted by: billf


# a6b474b6 26-Aug-2000 Peter Wemm <peter@FreeBSD.org>

*blush*. I was *sure* I compiled this after the last change..
Add the missing )

Shamed by: billf


# 1198f21c 26-Aug-2000 Peter Wemm <peter@FreeBSD.org>

killall.c is meant to be a superset replacement of killall.pl, the
main difference is that it uses sysctl to get the process lists rather
than /proc - thereby reducing the dependency on /proc by one more tool.