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