nmeter: deprecate %NNNd specified, use -d MSEC instead
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
This commit is contained in:
		| @@ -258,7 +258,6 @@ IF_NAMEIF(APPLET(nameif, _BB_DIR_SBIN, _BB_SUID_DROP)) | ||||
| IF_NC(APPLET(nc, _BB_DIR_USR_BIN, _BB_SUID_DROP)) | ||||
| IF_NETSTAT(APPLET(netstat, _BB_DIR_BIN, _BB_SUID_DROP)) | ||||
| IF_NICE(APPLET(nice, _BB_DIR_BIN, _BB_SUID_DROP)) | ||||
| IF_NMETER(APPLET(nmeter, _BB_DIR_USR_BIN, _BB_SUID_DROP)) | ||||
| IF_NOHUP(APPLET(nohup, _BB_DIR_USR_BIN, _BB_SUID_DROP)) | ||||
| IF_NSLOOKUP(APPLET(nslookup, _BB_DIR_USR_BIN, _BB_SUID_DROP)) | ||||
| IF_NTPD(APPLET(ntpd, _BB_DIR_USR_SBIN, _BB_SUID_DROP)) | ||||
|   | ||||
| @@ -1577,8 +1577,8 @@ INSERT | ||||
|      "\n	-c		One-byte character display" \ | ||||
|      "\n	-C		Canonical hex+ASCII, 16 bytes per line" \ | ||||
|      "\n	-d		Two-byte decimal display" \ | ||||
|      "\n	-e FORMAT STRING" \ | ||||
|      "\n	-f FORMAT FILE" \ | ||||
|      "\n	-e FORMAT_STRING" \ | ||||
|      "\n	-f FORMAT_FILE" \ | ||||
|      "\n	-n LENGTH	Interpret only LENGTH bytes of input" \ | ||||
|      "\n	-o		Two-byte octal display" \ | ||||
|      "\n	-s OFFSET	Skip OFFSET bytes" \ | ||||
| @@ -2706,31 +2706,6 @@ INSERT | ||||
|        " or\n" \ | ||||
|        "$ nameif -c /etc/my_mactab_file\n" \ | ||||
|  | ||||
| #define nmeter_trivial_usage \ | ||||
|        "format_string" | ||||
| #define nmeter_full_usage "\n\n" \ | ||||
|        "Monitor system in real time\n\n" \ | ||||
|        "Format specifiers:\n" \ | ||||
|        " %Nc or %[cN]	Monitor CPU. N - bar size, default 10\n" \ | ||||
|        "		(displays: S:system U:user N:niced D:iowait I:irq i:softirq)\n" \ | ||||
|        " %[niface]	Monitor network interface 'iface'\n" \ | ||||
|        " %m		Monitor allocated memory\n" \ | ||||
|        " %[mf]		Monitor free memory\n" \ | ||||
|        " %[mt]		Monitor total memory\n" \ | ||||
|        " %s		Monitor allocated swap\n" \ | ||||
|        " %f		Monitor number of used file descriptors\n" \ | ||||
|        " %Ni		Monitor total/specific IRQ rate\n" \ | ||||
|        " %x		Monitor context switch rate\n" \ | ||||
|        " %p		Monitor forks\n" \ | ||||
|        " %[pn]		Monitor # of processes\n" \ | ||||
|        " %b		Monitor block io\n" \ | ||||
|        " %Nt		Show time (with N decimal points)\n" \ | ||||
|        " %Nd		Milliseconds between updates (default:1000)\n" \ | ||||
|        " %r		Print <cr> instead of <lf> at EOL" \ | ||||
|  | ||||
| #define nmeter_example_usage \ | ||||
|        "nmeter '%250d%t %20c int %i bio %b mem %m forks%p'" | ||||
|  | ||||
| #define nohup_trivial_usage \ | ||||
|        "PROG ARGS" | ||||
| #define nohup_full_usage "\n\n" \ | ||||
|   | ||||
| @@ -46,12 +46,6 @@ config KILLALL5 | ||||
| 	default y | ||||
| 	depends on KILL | ||||
|  | ||||
| config NMETER | ||||
| 	bool "nmeter" | ||||
| 	default y | ||||
| 	help | ||||
| 	  Prints selected system stats continuously, one line per update. | ||||
|  | ||||
| config PGREP | ||||
| 	bool "pgrep" | ||||
| 	default y | ||||
|   | ||||
| @@ -11,7 +11,6 @@ lib-$(CONFIG_FREE)	+= free.o | ||||
| lib-$(CONFIG_FUSER)	+= fuser.o | ||||
| lib-$(CONFIG_KILL)	+= kill.o | ||||
| lib-$(CONFIG_ASH)	+= kill.o  # used for built-in kill by ash | ||||
| lib-$(CONFIG_NMETER)    += nmeter.o | ||||
| lib-$(CONFIG_PGREP)	+= pgrep.o | ||||
| lib-$(CONFIG_PKILL)	+= pgrep.o | ||||
| lib-$(CONFIG_PIDOF)	+= pidof.o | ||||
|   | ||||
| @@ -6,6 +6,40 @@ | ||||
|  * Contact me: vda.linux@googlemail.com | ||||
|  */ | ||||
|  | ||||
| //config:config NMETER | ||||
| //config:	bool "nmeter" | ||||
| //config:	default y | ||||
| //config:	help | ||||
| //config:	  Prints selected system stats continuously, one line per update. | ||||
|  | ||||
| //applet:IF_NMETER(APPLET(nmeter, _BB_DIR_USR_BIN, _BB_SUID_DROP)) | ||||
|  | ||||
| //kbuild:lib-$(CONFIG_NMETER) += nmeter.o | ||||
|  | ||||
| //usage:#define nmeter_trivial_usage | ||||
| //usage:       "[-d MSEC] FORMAT_STRING" | ||||
| //usage:#define nmeter_full_usage "\n\n" | ||||
| //usage:       "Monitor system in real time" | ||||
| //usage:     "\n" | ||||
| //usage:     "\n -d MSEC	Milliseconds between updates (default:1000)" | ||||
| //usage:     "\n" | ||||
| //usage:     "\nFormat specifiers:" | ||||
| //usage:     "\n %Nc or %[cN]	Monitor CPU. N - bar size (default:10)" | ||||
| //usage:     "\n		(displays: S:system U:user N:niced D:iowait I:irq i:softirq)" | ||||
| //usage:     "\n %[niface]	Monitor network interface 'iface'" | ||||
| //usage:     "\n %m		Monitor allocated memory" | ||||
| //usage:     "\n %[mf]		Monitor free memory" | ||||
| //usage:     "\n %[mt]		Monitor total memory" | ||||
| //usage:     "\n %s		Monitor allocated swap" | ||||
| //usage:     "\n %f		Monitor number of used file descriptors" | ||||
| //usage:     "\n %Ni		Monitor total/specific IRQ rate" | ||||
| //usage:     "\n %x		Monitor context switch rate" | ||||
| //usage:     "\n %p		Monitor forks" | ||||
| //usage:     "\n %[pn]		Monitor # of processes" | ||||
| //usage:     "\n %b		Monitor block io" | ||||
| //usage:     "\n %Nt		Show time (with N decimal points)" | ||||
| //usage:     "\n %r		Print <cr> instead of <lf> at EOL" | ||||
|  | ||||
| //TODO: | ||||
| // simplify code | ||||
| // /proc/locks | ||||
| @@ -769,6 +803,7 @@ static void FAST_FUNC collect_info(s_stat *s) | ||||
|  | ||||
| typedef s_stat* init_func(const char *param); | ||||
|  | ||||
| // Deprecated %NNNd is to be removed, -d MSEC supersedes it | ||||
| static const char options[] ALIGN1 = "ncmsfixptbdr"; | ||||
| static init_func *const init_functions[] = { | ||||
| 	init_if, | ||||
| @@ -792,23 +827,28 @@ int nmeter_main(int argc UNUSED_PARAM, char **argv) | ||||
| 	s_stat *first = NULL; | ||||
| 	s_stat *last = NULL; | ||||
| 	s_stat *s; | ||||
| 	char *opt_d; | ||||
| 	char *cur, *prev; | ||||
|  | ||||
| 	INIT_G(); | ||||
|  | ||||
| 	xchdir("/proc"); | ||||
|  | ||||
| 	if (!argv[1]) | ||||
| 		bb_show_usage(); | ||||
|  | ||||
| 	if (open_read_close("version", buf, sizeof(buf)-1) > 0) { | ||||
| 		buf[sizeof(buf)-1] = '\0'; | ||||
| 		is26 = (strstr(buf, " 2.4.") == NULL); | ||||
| 	} | ||||
|  | ||||
| 	// Can use argv[1] directly, but this will mess up | ||||
| 	if (getopt32(argv, "d:", &opt_d)) | ||||
| 		init_delay(opt_d); | ||||
| 	argv += optind; | ||||
|  | ||||
| 	if (!argv[0]) | ||||
| 		bb_show_usage(); | ||||
|  | ||||
| 	// Can use argv[0] directly, but this will mess up | ||||
| 	// parameters as seen by e.g. ps. Making a copy... | ||||
| 	cur = xstrdup(argv[1]); | ||||
| 	cur = xstrdup(argv[0]); | ||||
| 	while (1) { | ||||
| 		char *param, *p; | ||||
| 		prev = cur; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user