1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142
|
/***************************************************************************/
/* Includes */
/***************************************************************************/
#include <stdlib.h>
#include <procinfo.h>
#include <unistd.h>
#include <string.h>
#include <utmp.h>
#include <time.h>
#include <sys/file.h>
#include <sys/types.h>
#include <sys/proc.h>
#include <sys/time.h>
#include <odmi.h>
#include <sys/cfgodm.h>
#include <sys/cfgdb.h>
/***************************************************************************/
/* Defines */
/***************************************************************************/
/*
* Process states
*
*/
#define SLEEP "sleep"
#define WAIT "wait"
#define RUN "run"
#define IDLE "idle"
#define ZOMBIE "defunct"
#define STOP "stop"
#define UWAIT "uwait"
#define ACTIVE "active"
/*****************************************************************************/
/* Copyright (c) 1998, David Paquet. All rights reserved. */
/* This file is free software; you can redistribute it and/or modify it */
/* under the same terms as Perl itself. */
/*****************************************************************************/
/*
* Arbitrary constants
*
*/
/* Grab the maximum argument length */
#include <sys/limits.h>
#define MAX_PROCS 1024 /* Pretty overloaded isn't it ? */
#define MAXARGLN ARG_MAX
/*
* Some landmarks ...
*
*/
#define F_STAT 9
#define F_TTY 27
#define F_PRM 32
#define F_COMM 33
#define F_FLAST 33
/***************************************************************************/
/* Globals */
/***************************************************************************/
static unsigned long long Sysmem;
static int PageSize;
static int ProcessNumber;
static char Fullformat[] = "llllllllsslsllllllllllllllllllllsss";
static char Zombformat[] = "lllllllllslslllllll";
static char* ZombFields[] = {
"pid",
"ppid",
"sess",
"pgrp",
"uid",
"suid",
"priority",
"nice",
"pctcpu",
"stat",
"flags",
"wchan",
"wtype",
"adspace",
"majflt",
"minflt",
"utime",
"stime",
"size" };
static char* FullFields[] = {
"pid",
"ppid",
"sess",
"pgrp",
"uid",
"suid",
"priority",
"nice",
"pctcpu",
"stat",
"flags",
"wchan",
"wtype",
"adspace",
"majflt",
"minflt",
/* "utime", */ /* field valid for zombies only, see <procinfo.h> */
/* "stime", */ /* field valid for zombies only, see <procinfo.h> */
"size",
"luid",
"euid",
"gid",
"start",
"utime",
"stime",
"cutime",
"cstime",
"tsize",
"ttyp",
"ttynum",
"ttympx",
"drss",
"trss",
"dvm",
"pctmem",
"comm",
"cmndline"
};
|