Here's a code example ``` $ sleep 1 & killall -d sleep [1] 13393 uid:1001 nprocs 64 sig:15, cmd:sleep, pid:13393, dev:0x2e6 uid:1001 $ jobs [1] Done sleep 1 ``` As we can see, sleep is not getting killed if -d is specified. It works fine with -v, however: ``` $ sleep 1 & killall -v sleep kill -TERM 19067 [1] Terminated sleep 1 ``` Is this a desired behavior?
According to killall source, it seems to be expected: https://github.com/freebsd/freebsd/blob/98fe3d31f1ff6f78e9424e5d5f5f067e7facb5bf/usr.bin/killall/killall.c#L424 May be man page needs to specify that -d implies -s? And it looks like -d and -v need separate descriptions while here.
If there is no objection, I can give the man page a try.
(In reply to Fernando Apesteguía from comment #2) Great, thanks!
Changes in review D25413
A commit references this bug: Author: fernape Date: Sat Jun 27 11:28:12 UTC 2020 New revision: 362678 URL: https://svnweb.freebsd.org/changeset/base/362678 Log: killall(1): Clarify -d, -s and -v options -d and -v are not equivalent options. The former is more verbose than the latter and the former does not actually send the signals while the latter does. Let them have their own paragraphs. From the point of view of the output, -v is equivalent to -s, so describe them close to each other. The difference is that former actually sends the signals and the latter doesn't. PR: 247411 Approved by: manpages(0mp) Differential Revision: https://reviews.freebsd.org/D25413 Changes: head/usr.bin/killall/killall.1
Committed, Thanks!