Re: killall, symlinks, and signal delivery?

From: Cy Schubert <Cy.Schubert_at_cschubert.com>
Date: Tue, 07 Sep 2021 16:20:30 -0700
On September 7, 2021 3:42:53 PM PDT, Steve Kargl <sgk_at_troutmask.apl.washington.edu> wrote:
>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_at_ -> 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?
>

It's likely your app is replacing its process name (argv[0]) to something else. ps auxww may give you a hint what it might be now.

-- 
Pardon the typos and autocorrect, small keyboard in use. 
Cy Schubert <Cy.Schubert_at_cschubert.com>
FreeBSD UNIX: <cy_at_FreeBSD.org> Web: https://www.FreeBSD.org

The need of the many outweighs the greed of the few.

Sent from my Android device with K-9 Mail. Please excuse my brevity.
Received on Tue Sep 07 2021 - 23:20:30 UTC

Original text of this message