diff options
author | Miles Bader <miles@gnu.org> | 1996-10-25 18:57:54 +0000 |
---|---|---|
committer | Miles Bader <miles@gnu.org> | 1996-10-25 18:57:54 +0000 |
commit | a9b0f025dfe67ccfc8449f672d6223b92c0eed57 (patch) | |
tree | 806e6c2348cb180054e2914598f8685813569452 /utils/old-ps.c | |
parent | 96d494ad261e1635b1168bf53b613b866d06f086 (diff) | |
download | hurd-a9b0f025dfe67ccfc8449f672d6223b92c0eed57.tar.gz hurd-a9b0f025dfe67ccfc8449f672d6223b92c0eed57.tar.bz2 hurd-a9b0f025dfe67ccfc8449f672d6223b92c0eed57.zip |
Get rid of unused programs.
Diffstat (limited to 'utils/old-ps.c')
-rw-r--r-- | utils/old-ps.c | 183 |
1 files changed, 0 insertions, 183 deletions
diff --git a/utils/old-ps.c b/utils/old-ps.c deleted file mode 100644 index 5dac7854..00000000 --- a/utils/old-ps.c +++ /dev/null @@ -1,183 +0,0 @@ -/* - Copyright (C) 1994 Free Software Foundation - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2, or (at - your option) any later version. - - This program is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ - -#include <hurd.h> -#include <stdio.h> -#include <stdlib.h> -#include <assert.h> -#include <string.h> - -/* return a string describing the amount of memory SIZE represents. */ -char * -mem_str (vm_size_t size) -{ - char *ret = malloc (10); - char *spec=" KMG"; - int dec = 0; - - while (size > 1000) - { - dec = size % 1000; - size /= 1000; - spec++; - } - - if (size >= 100) - sprintf (ret, "%d%c", size, *spec); - else if (size >= 10) - sprintf (ret, "%d.%d%c", size, dec / 100, *spec); - else - sprintf (ret, "%d.%d%c", size, dec / 10, *spec); - - return ret; -} - -/* Return a string representing time T. */ -char * -time_str (time_value_t *t) -{ - char *ret = malloc (20); - int centiseconds; - - if (t->microseconds >= 1000000) - { - t->seconds += t->microseconds / 1000000; - t->microseconds %= 1000000; - } - centiseconds = t->microseconds / (1000000 / 100); - - sprintf (ret, "%d:%02d.%02d", - t->seconds / 60, /* minutes */ - t->seconds % 60, /* seconds */ - centiseconds); - return ret; -} - -/* Print a string describing the args of proc PID */ -void -print_args_str (process_t proc, pid_t pid) -{ - char *args; - u_int nargs = 0; - char *p; - error_t err; - - err = proc_getprocargs (proc, pid, &args, &nargs); - if (err) - return; - p = args; - while (p - args < nargs) - { - printf ("%s ", p); - p = strchr (p, '\0') + 1; - } - vm_deallocate (mach_task_self (), (vm_address_t) args, nargs); -} - -/* Very simple PS */ -int -main (int argc, char **argv) -{ - process_t proc; - pid_t pids[20]; - pid_t *pp = pids; - u_int npids = 20; - int ind; - struct thread_basic_info tbi; - struct thread_sched_info tsi; - int verbose; - -#if 0 - stdout = mach_open_devstream (getdport (1), "w"); -#endif - - if (argc > 2 || - (argc == 2 && (argv[1][0] != '-' || argv[1][1] != 'v' || argv[1][2]))) - { - fprintf (stderr, "Usage: %s [-v]\n", argv[0]); - exit (1); - } - verbose = argc == 2; - - if (verbose) - puts ("PID\tUSER\tPP\tPG\tSS\tThds\tVMem\tRSS\tPRI\t%CPU\tUser\tSystem\tArgs"); - else - puts ("PID\tUSER\tThds\tVMem\tRSS\tUser\tSystem\tArgs"); - proc = getproc (); - proc_getallpids (proc, &pp, &npids); - for (ind = 0; ind < npids; ind++) - { - int procinfobuf[0]; - struct procinfo *pi = (struct procinfo *) procinfobuf; - u_int pisize = 0; - int i; - - proc_getprocinfo (proc, pp[ind], (int **)&pi, &pisize); - - if (pi->state & PI_NOPARENT) - continue; - - bzero (&tbi, sizeof tbi); - bzero (&tsi, sizeof tsi); - for (i = 0; i < pi->nthreads; i++) - { - tsi.base_priority += pi->threadinfos[i].pis_si.base_priority; - tsi.cur_priority += pi->threadinfos[i].pis_si.cur_priority; - tbi.cpu_usage += pi->threadinfos[i].pis_bi.cpu_usage; - tbi.user_time.seconds += pi->threadinfos[i].pis_bi.user_time.seconds; - tbi.user_time.microseconds - += pi->threadinfos[i].pis_bi.user_time.microseconds; - tbi.system_time.seconds - += pi->threadinfos[i].pis_bi.system_time.seconds; - tbi.system_time.microseconds - += pi->threadinfos[i].pis_bi.system_time.microseconds; - } - tsi.base_priority /= pi->nthreads; - tsi.cur_priority /= pi->nthreads; - tbi.user_time.seconds += tbi.user_time.microseconds / 1000000; - tbi.user_time.microseconds %= 1000000; - tbi.system_time.seconds += tbi.system_time.microseconds / 1000000; - tbi.system_time.microseconds %= 1000000; - if (verbose) - printf ("%d\t%d\t%d\t%d\t%d\t%d\t%s\t%s\t%d/%d\t%d\t%s\t%s\t", - pp[ind], - (pi->state & PI_NOTOWNED) ? -1 : pi->owner, - pi->ppid, - pi->pgrp, - pi->session, - pi->nthreads, - mem_str (pi->taskinfo.virtual_size), - mem_str (pi->taskinfo.resident_size), - tsi.base_priority, - tsi.cur_priority, - tbi.cpu_usage, - time_str (&tbi.user_time), - time_str (&tbi.system_time)); - else - printf ("%d\t%d\t%d\t%s\t%s\t%s\t%s\t", - pp[ind], - (pi->state & PI_NOTOWNED) ? -1 : pi->owner, - pi->nthreads, - mem_str (pi->taskinfo.virtual_size), - mem_str (pi->taskinfo.resident_size), - time_str (&tbi.user_time), - time_str (&tbi.system_time)); - print_args_str (proc, pp[ind]); - putchar ('\n'); - } - return 0; -} |