diff options
Diffstat (limited to 'procps/ps.c')
-rw-r--r-- | procps/ps.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/procps/ps.c b/procps/ps.c index 5b521aebd..329576eb8 100644 --- a/procps/ps.c +++ b/procps/ps.c | |||
@@ -120,7 +120,7 @@ enum { MAX_WIDTH = 2*1024 }; | |||
120 | #if ENABLE_FEATURE_PS_TIME || ENABLE_FEATURE_PS_LONG | 120 | #if ENABLE_FEATURE_PS_TIME || ENABLE_FEATURE_PS_LONG |
121 | static unsigned long get_uptime(void) | 121 | static unsigned long get_uptime(void) |
122 | { | 122 | { |
123 | #ifdef __linux__ | 123 | #if defined __linux__ || ENABLE_PLATFORM_MINGW32 |
124 | struct sysinfo info; | 124 | struct sysinfo info; |
125 | if (sysinfo(&info) < 0) | 125 | if (sysinfo(&info) < 0) |
126 | return 0; | 126 | return 0; |
@@ -237,10 +237,12 @@ static void func_comm(char *buf, int size, const procps_status_t *ps) | |||
237 | safe_strncpy(buf, ps->comm, size+1); | 237 | safe_strncpy(buf, ps->comm, size+1); |
238 | } | 238 | } |
239 | 239 | ||
240 | #if !ENABLE_PLATFORM_MINGW32 | ||
240 | static void func_state(char *buf, int size, const procps_status_t *ps) | 241 | static void func_state(char *buf, int size, const procps_status_t *ps) |
241 | { | 242 | { |
242 | safe_strncpy(buf, ps->state, size+1); | 243 | safe_strncpy(buf, ps->state, size+1); |
243 | } | 244 | } |
245 | #endif | ||
244 | 246 | ||
245 | static void func_args(char *buf, int size, const procps_status_t *ps) | 247 | static void func_args(char *buf, int size, const procps_status_t *ps) |
246 | { | 248 | { |
@@ -257,6 +259,7 @@ static void func_ppid(char *buf, int size, const procps_status_t *ps) | |||
257 | sprintf(buf, "%*u", size, ps->ppid); | 259 | sprintf(buf, "%*u", size, ps->ppid); |
258 | } | 260 | } |
259 | 261 | ||
262 | #if !ENABLE_PLATFORM_MINGW32 | ||
260 | static void func_pgid(char *buf, int size, const procps_status_t *ps) | 263 | static void func_pgid(char *buf, int size, const procps_status_t *ps) |
261 | { | 264 | { |
262 | sprintf(buf, "%*u", size, ps->pgid); | 265 | sprintf(buf, "%*u", size, ps->pgid); |
@@ -293,6 +296,7 @@ static void func_tty(char *buf, int size, const procps_status_t *ps) | |||
293 | if (ps->tty_major) /* tty field of "0" means "no tty" */ | 296 | if (ps->tty_major) /* tty field of "0" means "no tty" */ |
294 | snprintf(buf, size+1, "%u,%u", ps->tty_major, ps->tty_minor); | 297 | snprintf(buf, size+1, "%u,%u", ps->tty_major, ps->tty_minor); |
295 | } | 298 | } |
299 | #endif | ||
296 | 300 | ||
297 | #if ENABLE_FEATURE_PS_ADDITIONAL_COLUMNS | 301 | #if ENABLE_FEATURE_PS_ADDITIONAL_COLUMNS |
298 | static void func_rgroup(char *buf, int size, const procps_status_t *ps) | 302 | static void func_rgroup(char *buf, int size, const procps_status_t *ps) |
@@ -379,11 +383,17 @@ static const ps_out_t out_spec[] ALIGN_PTR = { | |||
379 | /* Mandated by http://pubs.opengroup.org/onlinepubs/9699919799/utilities/ps.html: */ | 383 | /* Mandated by http://pubs.opengroup.org/onlinepubs/9699919799/utilities/ps.html: */ |
380 | { 8 , "user" ,"USER" ,func_user ,PSSCAN_UIDGID }, | 384 | { 8 , "user" ,"USER" ,func_user ,PSSCAN_UIDGID }, |
381 | { 8 , "group" ,"GROUP" ,func_group ,PSSCAN_UIDGID }, | 385 | { 8 , "group" ,"GROUP" ,func_group ,PSSCAN_UIDGID }, |
386 | #if ENABLE_PLATFORM_MINGW32 | ||
387 | { COMM_LEN , "comm" ,"COMMAND",func_comm ,PSSCAN_COMM }, | ||
388 | #else | ||
382 | { 16 , "comm" ,"COMMAND",func_comm ,PSSCAN_COMM }, | 389 | { 16 , "comm" ,"COMMAND",func_comm ,PSSCAN_COMM }, |
390 | #endif | ||
383 | { MAX_WIDTH , "args" ,"COMMAND",func_args ,PSSCAN_COMM }, | 391 | { MAX_WIDTH , "args" ,"COMMAND",func_args ,PSSCAN_COMM }, |
384 | { 5 , "pid" ,"PID" ,func_pid ,PSSCAN_PID }, | 392 | { 5 , "pid" ,"PID" ,func_pid ,PSSCAN_PID }, |
385 | { 5 , "ppid" ,"PPID" ,func_ppid ,PSSCAN_PPID }, | 393 | { 5 , "ppid" ,"PPID" ,func_ppid ,PSSCAN_PPID }, |
394 | #if !ENABLE_PLATFORM_MINGW32 | ||
386 | { 5 , "pgid" ,"PGID" ,func_pgid ,PSSCAN_PGID }, | 395 | { 5 , "pgid" ,"PGID" ,func_pgid ,PSSCAN_PGID }, |
396 | #endif | ||
387 | #if ENABLE_FEATURE_PS_TIME | 397 | #if ENABLE_FEATURE_PS_TIME |
388 | { sizeof("ELAPSED")-1, "etime" ,"ELAPSED",func_etime ,PSSCAN_START_TIME }, | 398 | { sizeof("ELAPSED")-1, "etime" ,"ELAPSED",func_etime ,PSSCAN_START_TIME }, |
389 | #endif | 399 | #endif |
@@ -396,12 +406,14 @@ static const ps_out_t out_spec[] ALIGN_PTR = { | |||
396 | #if ENABLE_FEATURE_PS_TIME | 406 | #if ENABLE_FEATURE_PS_TIME |
397 | { 5 , "time" ,"TIME" ,func_time ,PSSCAN_STIME | PSSCAN_UTIME }, | 407 | { 5 , "time" ,"TIME" ,func_time ,PSSCAN_STIME | PSSCAN_UTIME }, |
398 | #endif | 408 | #endif |
409 | #if !ENABLE_PLATFORM_MINGW32 | ||
399 | { 6 , "tty" ,"TT" ,func_tty ,PSSCAN_TTY }, | 410 | { 6 , "tty" ,"TT" ,func_tty ,PSSCAN_TTY }, |
400 | { 4 , "vsz" ,"VSZ" ,func_vsz ,PSSCAN_VSZ }, | 411 | { 4 , "vsz" ,"VSZ" ,func_vsz ,PSSCAN_VSZ }, |
401 | /* Not mandated, but useful: */ | 412 | /* Not mandated, but useful: */ |
402 | { 5 , "sid" ,"SID" ,func_sid ,PSSCAN_SID }, | 413 | { 5 , "sid" ,"SID" ,func_sid ,PSSCAN_SID }, |
403 | { 4 , "stat" ,"STAT" ,func_state ,PSSCAN_STATE }, | 414 | { 4 , "stat" ,"STAT" ,func_state ,PSSCAN_STATE }, |
404 | { 4 , "rss" ,"RSS" ,func_rss ,PSSCAN_RSS }, | 415 | { 4 , "rss" ,"RSS" ,func_rss ,PSSCAN_RSS }, |
416 | #endif | ||
405 | #if ENABLE_SELINUX | 417 | #if ENABLE_SELINUX |
406 | { 35 , "label" ,"LABEL" ,func_label ,PSSCAN_CONTEXT }, | 418 | { 35 , "label" ,"LABEL" ,func_label ,PSSCAN_CONTEXT }, |
407 | #endif | 419 | #endif |
@@ -544,6 +556,8 @@ static void format_process(const procps_status_t *ps) | |||
544 | #if ENABLE_SELINUX | 556 | #if ENABLE_SELINUX |
545 | # define SELINUX_O_PREFIX "label," | 557 | # define SELINUX_O_PREFIX "label," |
546 | # define DEFAULT_O_STR (SELINUX_O_PREFIX "pid,user" IF_FEATURE_PS_TIME(",time") ",args") | 558 | # define DEFAULT_O_STR (SELINUX_O_PREFIX "pid,user" IF_FEATURE_PS_TIME(",time") ",args") |
559 | #elif ENABLE_PLATFORM_MINGW32 | ||
560 | # define DEFAULT_O_STR ("pid,ppid,user" IF_FEATURE_PS_TIME(",time,etime") ",args") | ||
547 | #else | 561 | #else |
548 | # define DEFAULT_O_STR ("pid,user" IF_FEATURE_PS_TIME(",time") ",args") | 562 | # define DEFAULT_O_STR ("pid,user" IF_FEATURE_PS_TIME(",time") ",args") |
549 | #endif | 563 | #endif |