示例#1
0
int
sh_count_procs(char *procname)
{
    struct proc    *p;
    struct user    *u;
    int             total;

    if (kd == NULL) {
        return -1;
    }
    if (kvm_setproc(kd) < 0) {
        return (-1);
    }
    kvm_setproc(kd);
    total = 0;
    while ((p = kvm_nextproc(kd)) != NULL) {
        if (!p) {
            return (-1);
        }
        u = kvm_getu(kd, p);
        /*
         * Skip this entry if u or u->u_comm is a NULL pointer 
         */
        if (!u) {
            continue;
        }
      DEBUGMSGTL(("proc","misc1 Comparing wanted %s against %s\n",
                  procname, u->u_comm));
        if (strcmp(procname, u->u_comm) == 0)
            total++;
    }
    return (total);
}
示例#2
0
int
sh_count_regexp_procs(char *procname, pcre *regexp)
{
    struct proc    *p;
    struct user    *u;
    int             total;

    if (kd == NULL) {
        return -1;
    }
    if (kvm_setproc(kd) < 0) {
        return (-1);
    }
    kvm_setproc(kd);
    total = 0;
    while ((p = kvm_nextproc(kd)) != NULL) {
        if (!p) {
            return (-1);
        }
        u = kvm_getu(kd, p);
        /*
         * Skip this entry if u or u->u_comm is a NULL pointer 
         */
        if (!u) {
            continue;
        }
        if (strcmp(procname, u->u_comm) == 0)
            total++;
    }
    return (total);
}
示例#3
0
文件: test.c 项目: andreiw/polaris
int
tst_setproc(void)
{
	int i;

	printf("kvm_setproc()\n");
	if ((i = kvm_setproc(cookie)) != 0)
		printf("ERROR: kvm_setproc returned %d\n", i);
	return (i);
}