nmeter: deprecate %NNNd specified, use -d MSEC instead

Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
This commit is contained in:
Denys Vlasenko
2010-12-13 15:17:22 +01:00
parent da6fb7e331
commit a6041860f8
5 changed files with 47 additions and 40 deletions

View File

@@ -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

View File

@@ -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

View File

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