Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 10 Feb 2010 00:34:14 +0000 (UTC)
From:      Xin LI <delphij@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org
Subject:   svn commit: r203737 - stable/8/usr.bin/netstat
Message-ID:  <201002100034.o1A0YEIv028376@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: delphij
Date: Wed Feb 10 00:34:13 2010
New Revision: 203737
URL: http://svn.freebsd.org/changeset/base/203737

Log:
  MFC r202060:
  
  Add a new option, -q howmany, which when used in conjuction with -w,
  exits netstat after _howmany_ outputs.
  
  Requested by:	thomasa
  Reviewed by:	freebsd-net (bms, old version in early 2007)

Modified:
  stable/8/usr.bin/netstat/if.c
  stable/8/usr.bin/netstat/main.c
  stable/8/usr.bin/netstat/netstat.1
  stable/8/usr.bin/netstat/netstat.h
Directory Properties:
  stable/8/usr.bin/netstat/   (props changed)

Modified: stable/8/usr.bin/netstat/if.c
==============================================================================
--- stable/8/usr.bin/netstat/if.c	Wed Feb 10 00:26:20 2010	(r203736)
+++ stable/8/usr.bin/netstat/if.c	Wed Feb 10 00:34:13 2010	(r203737)
@@ -685,6 +685,8 @@ loop:
 	if (!first)
 		putchar('\n');
 	fflush(stdout);
+	if ((noutputs != 0) && (--noutputs == 0))
+		exit(0);
 	oldmask = sigblock(sigmask(SIGALRM));
 	while (!signalled)
 		sigpause(0);

Modified: stable/8/usr.bin/netstat/main.c
==============================================================================
--- stable/8/usr.bin/netstat/main.c	Wed Feb 10 00:26:20 2010	(r203736)
+++ stable/8/usr.bin/netstat/main.c	Wed Feb 10 00:34:13 2010	(r203737)
@@ -332,6 +332,7 @@ int	hflag;		/* show counters in human re
 int	iflag;		/* show interfaces */
 int	Lflag;		/* show size of listen queues */
 int	mflag;		/* show memory stats */
+int	noutputs = 0;	/* how much outputs before we exit */
 int	numeric_addr;	/* show addresses numerically */
 int	numeric_port;	/* show ports numerically */
 static int pflag;	/* show given protocol */
@@ -358,7 +359,7 @@ main(int argc, char *argv[])
 
 	af = AF_UNSPEC;
 
-	while ((ch = getopt(argc, argv, "AaBbdf:ghI:iLlM:mN:np:rSstuWw:xz")) != -1)
+	while ((ch = getopt(argc, argv, "AaBbdf:ghI:iLlM:mN:np:q:rSstuWw:xz")) != -1)
 		switch(ch) {
 		case 'A':
 			Aflag = 1;
@@ -444,6 +445,11 @@ main(int argc, char *argv[])
 			}
 			pflag = 1;
 			break;
+		case 'q':
+			noutputs = atoi(optarg);
+			if (noutputs != 0)
+				noutputs++;
+			break;
 		case 'r':
 			rflag = 1;
 			break;
@@ -780,7 +786,7 @@ usage(void)
 "               [-M core] [-N system]",
 "       netstat -i | -I interface [-abdhntW] [-f address_family]\n"
 "               [-M core] [-N system]",
-"       netstat -w wait [-I interface] [-d] [-M core] [-N system]",
+"       netstat -w wait [-I interface] [-d] [-M core] [-N system] [-q howmany]",
 "       netstat -s [-s] [-z] [-f protocol_family | -p protocol]\n"
 "               [-M core] [-N system]",
 "       netstat -i | -I interface -s [-f protocol_family | -p protocol]\n"

Modified: stable/8/usr.bin/netstat/netstat.1
==============================================================================
--- stable/8/usr.bin/netstat/netstat.1	Wed Feb 10 00:26:20 2010	(r203736)
+++ stable/8/usr.bin/netstat/netstat.1	Wed Feb 10 00:34:13 2010	(r203737)
@@ -32,7 +32,7 @@
 .\"	@(#)netstat.1	8.8 (Berkeley) 4/18/94
 .\" $FreeBSD$
 .\"
-.Dd July 9, 2009
+.Dd January 10, 2010
 .Dt NETSTAT 1
 .Os
 .Sh NAME
@@ -136,6 +136,7 @@ is also present, print interface names u
 .Op Fl d
 .Op Fl M Ar core
 .Op Fl N Ar system
+.Op Fl q Ar howmany
 .Ek
 .Xc
 At intervals of
@@ -146,6 +147,11 @@ traffic on all configured network interf
 or a single
 .Ar interface .
 If
+.Fl q
+is also present, exit after
+.Ar howmany
+outputs.
+If
 .Fl d
 is also present, show the number of dropped packets.
 .It Xo

Modified: stable/8/usr.bin/netstat/netstat.h
==============================================================================
--- stable/8/usr.bin/netstat/netstat.h	Wed Feb 10 00:26:20 2010	(r203736)
+++ stable/8/usr.bin/netstat/netstat.h	Wed Feb 10 00:34:13 2010	(r203737)
@@ -45,6 +45,7 @@ extern int	hflag;	/* show counters in hu
 extern int	iflag;	/* show interfaces */
 extern int	Lflag;	/* show size of listen queues */
 extern int	mflag;	/* show memory stats */
+extern int	noutputs;	/* how much outputs before we exit */
 extern int	numeric_addr;	/* show addresses numerically */
 extern int	numeric_port;	/* show ports numerically */
 extern int	rflag;	/* show routing tables (or routing stats) */



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201002100034.o1A0YEIv028376>