示例#1
0
static void
do_args(struct procstat *procstat, struct kinfo_proc *kipp, int env)
{
    int i;
    char **args;

    if (!hflag) {
        printf("%5s %-16s %-53s\n", "PID", "COMM",
               env ? "ENVIRONMENT" : "ARGS");
    }

    args = env ? procstat_getenvv(procstat, kipp, 0) :
           procstat_getargv(procstat, kipp, 0);

    printf("%5d %-16s", kipp->ki_pid, kipp->ki_comm);

    if (args == NULL) {
        printf(" -\n");
        return;
    }

    for (i = 0; args[i] != NULL; i++)
        printf(" %s", args[i]);
    printf("\n");
}
示例#2
0
void
procstat_env(struct procstat *procstat, struct kinfo_proc *kipp)
{
	int i;
	char **envs;

	if (!hflag) {
		xo_emit("{T:/%5s %-16s %-53s}\n", "PID", "COMM", "ENVIRONMENT");
	}

	envs = procstat_getenvv(procstat, kipp, 0);

	xo_emit("{k:process_id/%5d/%d} {:command/%-16s/%s}", kipp->ki_pid,
	    kipp->ki_comm);

	if (envs == NULL) {
		xo_emit(" {d:env/-}\n");
		return;
	}

	xo_open_list("environment");
	for (i = 0; envs[i] != NULL; i++)
		xo_emit(" {l:env/%s}", envs[i]);
	xo_close_list("environment");
	xo_emit("\n");
}