ptree: also show the argv of each command - plstree - ps and ls displayed as a … | |
git clone git://bitreich.org/plstree git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws… | |
Log | |
Files | |
Refs | |
Tags | |
README | |
--- | |
commit e3d30e6a69c7376cacf94f5cadc26d9a5655b5b3 | |
parent 022d132a4fddf73790e485de031f4da9d8ac6c81 | |
Author: Josuah Demangeon <[email protected]> | |
Date: Sat, 9 Jun 2018 22:37:47 +0200 | |
ptree: also show the argv of each command | |
This is to avoid the need to constantly run "ps -ax | less -S" after | |
"ptree | less", so only "ptree | less -S" is enough. | |
Diffstat: | |
M ptree | 9 +++++++-- | |
1 file changed, 7 insertions(+), 2 deletions(-) | |
--- | |
diff --git a/ptree b/ptree | |
@@ -33,7 +33,8 @@ BEGIN { | |
printf("%s", entries[i":info"]); | |
for (j = 1; entries[i":"j] != ""; j++) | |
printf("%s", entries[i":"j]); | |
- printf("%s\n", entries[i":comm"]); | |
+ printf("%-" 30 - j * 3 "s", entries[i":comm"]); | |
+ print(entries[i":args"]); | |
} | |
} | |
@@ -46,7 +47,7 @@ BEGIN { | |
function list(entries) | |
{ | |
- opt = "-o ppid,user,tty,pid,stat,comm" | |
+ opt = "-o ppid,user,tty,pid,stat,comm,args" | |
cmd = "exec ps -ax " opt " 2>/dev/null"; | |
if (!(cmd | getline)) { | |
cmd = "exec ps " opt | |
@@ -60,9 +61,12 @@ function list(entries) | |
entries[ppid"cpid"] = entries[ppid"cpid"] "," pid; | |
sub(" *[^ ]+", ""); | |
sub(" *[^ ]+ + *[^ ]+ + *[^ ]+ + *[^ ]+ +", "&\t"); | |
+ sub("[^\t]+ [^ ]+ +", "&\t"); | |
split($0, info, "\t"); | |
+ sub(" *$" , "", info[2]); | |
entries[pid"info"] = info[1]; | |
entries[pid"comm"] = info[2]; | |
+ entries[pid"args"] = info[3]; | |
} | |
close(cmd); | |
@@ -90,6 +94,7 @@ function fill(entries, pid, lvl) | |
entries[NUM":"j] = LINE; | |
entries[NUM":"lvl] = NODE; | |
entries[NUM":comm"] = entries[pid"comm"]; | |
+ entries[NUM":args"] = entries[pid"args"]; | |
entries[NUM":info"] = entries[pid"info"]; | |
NUM++; | |
while (sub("[^,]*,", "", entries[pid"cpid"])) { |