示例#1
0
文件: procstat.c 项目: 2asoft/freebsd
static void
procstat(struct procstat *prstat, struct kinfo_proc *kipp)
{
	char *pidstr = NULL;

	asprintf(&pidstr, "%d", kipp->ki_pid);
	if (pidstr == NULL)
		xo_errc(1, ENOMEM, "Failed to allocate memory in procstat()");
	xo_open_container(pidstr);

	if (bflag)
		procstat_bin(prstat, kipp);
	else if (cflag)
		procstat_args(prstat, kipp);
	else if (eflag)
		procstat_env(prstat, kipp);
	else if (fflag)
		procstat_files(prstat, kipp);
	else if (iflag)
		procstat_sigs(prstat, kipp);
	else if (jflag)
		procstat_threads_sigs(prstat, kipp);
	else if (kflag)
		procstat_kstack(prstat, kipp, kflag);
	else if (lflag)
		procstat_rlimit(prstat, kipp);
	else if (rflag)
		procstat_rusage(prstat, kipp);
	else if (sflag)
		procstat_cred(prstat, kipp);
	else if (tflag)
		procstat_threads(prstat, kipp);
	else if (vflag)
		procstat_vm(prstat, kipp);
	else if (xflag)
		procstat_auxv(prstat, kipp);
	else if (Sflag)
		procstat_cs(prstat, kipp);
	else
		procstat_basic(kipp);

	xo_close_container(pidstr);
	free(pidstr);
}
示例#2
0
static void
procstat(struct procstat *prstat, struct kinfo_proc *kipp)
{

    if (Lflag)
        procstat_sandbox_classes(prstat, kipp);
    else if (Rflag)
        procstat_sandbox_methods(prstat, kipp);
    else if (Sflag)
        procstat_sandbox_objects(prstat, kipp);
    else if (bflag)
        procstat_bin(prstat, kipp);
    else if (cflag)
        procstat_args(prstat, kipp);
    else if (eflag)
        procstat_env(prstat, kipp);
    else if (fflag)
        procstat_files(prstat, kipp);
    else if (iflag)
        procstat_sigs(prstat, kipp);
    else if (jflag)
        procstat_threads_sigs(prstat, kipp);
    else if (kflag)
        procstat_kstack(prstat, kipp, kflag);
    else if (lflag)
        procstat_rlimit(prstat, kipp);
    else if (rflag)
        procstat_rusage(prstat, kipp);
    else if (sflag)
        procstat_cred(prstat, kipp);
    else if (tflag)
        procstat_threads(prstat, kipp);
    else if (vflag)
        procstat_vm(prstat, kipp);
    else if (xflag)
        procstat_auxv(prstat, kipp);
    else if (Sflag)
        procstat_cs(prstat, kipp);
    else
        procstat_basic(kipp);
}