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"); }
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"); }