[git commit] uptime: add config flag to allow displaying the number of users currently logged on
Denys Vlasenko
vda.linux at googlemail.com
Tue Aug 9 02:09:17 UTC 2011
commit: http://git.busybox.net/busybox/commit/?id=d91b13806f41131fe55ece6027fa762f5da016ac
branch: http://git.busybox.net/busybox/commit/?id=refs/heads/master
Signed-off-by: Pere Orga <gotrunks at gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
procps/Config.src | 9 ---------
procps/uptime.c | 35 +++++++++++++++++++++++++++++++----
2 files changed, 31 insertions(+), 13 deletions(-)
diff --git a/procps/Config.src b/procps/Config.src
index 3e7df0b..570b026 100644
--- a/procps/Config.src
+++ b/procps/Config.src
@@ -194,15 +194,6 @@ config FEATURE_SHOW_THREADS
Enables the ps -T option, showing of threads in pstree,
and 'h' command in top.
-config UPTIME
- bool "uptime"
- default y
- select PLATFORM_LINUX #sysinfo()
- help
- uptime gives a one line display of the current time, how long
- the system has been running, how many users are currently logged
- on, and the system load averages for the past 1, 5, and 15 minutes.
-
config WATCH
bool "watch"
default y
diff --git a/procps/uptime.c b/procps/uptime.c
index 7432362..c3a2740 100644
--- a/procps/uptime.c
+++ b/procps/uptime.c
@@ -7,14 +7,29 @@
* Licensed under GPLv2, see file LICENSE in this source tree.
*/
-/* This version of uptime doesn't display the number of users on the system,
- * since busybox init doesn't mess with utmp. For folks using utmp that are
- * just dying to have # of users reported, feel free to write it as some type
- * of CONFIG_FEATURE_UTMP_SUPPORT #define
+/* 2011 Pere Orga <gotrunks at gmail.com>
+ *
+ * Added FEATURE_UPTIME_UTMP_SUPPORT flag.
*/
/* getopt not needed */
+//config:config UPTIME
+//config: bool "uptime"
+//config: default y
+//config: select PLATFORM_LINUX #sysinfo()
+//config: help
+//config: uptime gives a one line display of the current time, how long
+//config: the system has been running, how many users are currently logged
+//config: on, and the system load averages for the past 1, 5, and 15 minutes.
+//config:
+//config:config FEATURE_UPTIME_UTMP_SUPPORT
+//config: bool "Support for showing the number of users"
+//config: default y
+//config: depends on UPTIME && FEATURE_UTMP
+//config: help
+//config: Makes uptime display the number of users currently logged on.
+
//usage:#define uptime_trivial_usage
//usage: ""
//usage:#define uptime_full_usage "\n\n"
@@ -64,6 +79,18 @@ int uptime_main(int argc UNUSED_PARAM, char **argv UNUSED_PARAM)
else
printf("%d min, ", upminutes);
+#if ENABLE_FEATURE_UPTIME_UTMP_SUPPORT
+{
+ struct utmp *ut;
+ int users = 0;
+ while ((ut = getutent())) {
+ if ((ut->ut_type == USER_PROCESS) && (ut->ut_name[0] != '\0'))
+ users++;
+ }
+ printf("%d users, ", users);
+}
+#endif
+
printf("load average: %ld.%02ld, %ld.%02ld, %ld.%02ld\n",
LOAD_INT(info.loads[0]), LOAD_FRAC(info.loads[0]),
LOAD_INT(info.loads[1]), LOAD_FRAC(info.loads[1]),
--
1.7.3.4
More information about the busybox-cvs
mailing list