killall, symlinks, and signal delivery?

From: Steve Kargl <>
Date: Tue, 07 Sep 2021 22:42:53 UTC
I have stumbled about a quandry, which I hope someone
can shed some light upon.  In my day job, I often
generate a sequence of images and display these images
with ImageMagick's display command.  From my csh prompt,
a quick and dirty foreach() loop

% foreach i (*.png)
> display $i &
> sleep 3
> end

Instead of moving the cursor to each image and hitting
'q' to close the images.  I normally kill all of the
processes at one time.  This used to work:

% killall display

Now I geit, for example, 

% display z.miff &
% killall display
No matching processes belonging to you were found
% ps -Ukargl | grep display
19463  1  S    0:00.02 display z.miff (magick)
19465  1  S+   0:00.00 grep display
% ls -l /usr/local/bin/display 
lrwxr-xr-x  1 root  wheel  - 6 Jun  1 14:18 /usr/local/bin/display@ -> magick

So, there are two possibilities:
(1) display was once an independent program and not a
    symlink to magick.  Thus, killall just worked. Or,
(2) killall no longer works because command associated
    with process 19463 is not really 'display' and the
    symlink isn't resolved to actually kill 'magick'.

So, just chekcing (2), here.  Is this a change in behvior
for FreeBSD?