svn commit: r257911 - head/bin/pkill

Eitan Adler eadler at FreeBSD.org
Sun Nov 10 05:22:29 UTC 2013


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));


More information about the svn-src-all mailing list