Author: eadler
Date: Sun Nov 10 05:22:29 2013
New Revision: 257911
URL: http://svnweb.freebsd.org/changeset/base/257911

Log:
  pkill - Optimize pgrep -F
  
   Ask for a specific process instead of pulling down all processes when
   -F <pidfile> is specified.  This is much much faster.
  
   Obtained from:       DragonflyBSD

Modified:
  head/bin/pkill/pkill.c

Modified: head/bin/pkill/pkill.c
==============================================================================
--- head/bin/pkill/pkill.c      Sun Nov 10 04:22:40 2013        (r257910)
+++ head/bin/pkill/pkill.c      Sun Nov 10 05:22:29 2013        (r257911)
@@ -318,7 +318,10 @@ main(int argc, char **argv)
         * Use KERN_PROC_PROC instead of KERN_PROC_ALL, since we
         * just want processes and not individual kernel threads.
         */
-       plist = kvm_getprocs(kd, KERN_PROC_PROC, 0, &nproc);
+       if (pidfromfile >= 0)
+               plist = kvm_getprocs(kd, KERN_PROC_PID, pidfromfile, &nproc);
+       else
+               plist = kvm_getprocs(kd, KERN_PROC_PROC, 0, &nproc);
        if (plist == NULL) {
                errx(STATUS_ERROR, "Cannot get process list (%s)",
                    kvm_geterr(kd));
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to