On 05/03/2012 16:09, Denys Vlasenko wrote:
On Mon, Mar 5, 2012 at 4:55 PM, Ed W<[email protected]>  wrote:
  
http://git.overlays.gentoo.org/gitweb/?p=proj/openrc.git;a=blob;f=src/librc/librc-daemon.c;h=982da354da586dbb48766ae626de8b9f2b7a0335;hb=14b7f0e7fa1069827138d931952487b7c7db0d6a

I'm actually struggling to get my head around how it's doing it's thing...
  However, I don't obviously see that it's using /proc/pid/exe?
Now they seem to use /proc/pid/stat. Gosh... that's supposed to be used
for --name match!

I'm not sure that I understand how that would be so in my case?

# cat /proc/12754/stat
12754 (nginx) S 1 12754 12754 0 -1 4202560 61 0 0 0 0 0 0 0 20 0 1 0 310893428 34033664 203 18446744073709551615 1 1 0 0 0 0 0 1073745920 402745863 0 0 0 17 2 0 0 0 0 0


I don't fully understand. Can you show a patch?
Well, perhaps an illustration.  This works and kills the process
/usr/sbin/nginx:

        start-stop-daemon --stop --exec inx --pidfile /var/run/nginx.pid
Doesn't look like reasonable request for me.

Can you highlight what you object to please?

To be clear though - all I want to achieve is:
start-stop-daemon --stop --exec /usr/sbin/nginx --pidfile /var/run/nginx.pid

To kill process:
    # cat /proc/12754/cmdline
    nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf




And /proc/pid/exe match will also work.
IOW: the fix I committed should be enough. No?

I believe your fix would work for the nginx case, but I think it won't be sufficient to match a busybox executable (or similar hardlinked type application) which changes it's cmdline?

On the other hand simply looking for the --exec string to match anywhere in the /proc/pid/cmdline appears to solve both cases, ie use strstr rather than strcmp?

As long as I can kill all my processes I don't think I care - just seemed that swapping to a strstr, ie substring match seems simpler?

Is the verdict to stick with /proc/pid/exe though?

Cheers

Ed W

_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to