3 ms·
plan 9 who is a 3 line shell script that just greps the output of ps and sorts it. You could eliminate ps and just grep through /proc but why reinvent the wheel
by MisterTea 6y ago
plan 9 who is a 3 line shell script that just greps the output of ps and sorts it. You could eliminate ps and just grep through /proc but why reinvent the wheel when an existing tool already does part of the job?
I see some comments here citing a lack of options, most of which appear to have nothing to do with who is logged into the machine.
- fizzled 6y agoIs /proc as portable as `ps`?
- hibbelig 6y agoI guess that Linux `/proc` is different from Plan 9 `/proc`, and Linux `ps` is different from Plan 9 `ps`. So maybe yes.
- JdeBP 6y agoThere's a long explanation when it comes to ps, but the very short answer is twofold: * Don't parse the output of ps, unless it is my ps command (or plan 9's one, as here). See https://unix.stackexchange.com/a/593198/5132 https://unix.stackexchange.com/a/593198/5132 and https://unix.stackexchange.com/a/578816/5132 https://unix.stackexchange.com/a/578816/5132 , and their further reading, especially Greg Wooledge's article. * /proc is as portable as ps, but that doesn't really amount to much because neither is really portable at all. Pretty much every operating system's /proc is different; and no implementation of the ps command fully conforms to even the limited subset laid out in the Single Unix Specification.
- deleted 6y ago[deleted]
- forgotpwd16 6y agoSource for the mentioned script: https://github.com/0intro/plan9/blob/master/rc/bin/who https://github.com/0intro/plan9/blob/master/rc/bin/who. Also, other utilities implemented as scripts are fshalt (P9's shutdown), kill, lookman (P9's apropos), uptime and whois.
- jf 6y agoDoes anybody know why there are line breaks in the sed command?
- deleted 6y ago[deleted]
- forgotpwd16 6y agoIt runs multiple expressions. That is sed '/pattern1/d pattern2/d' is the same with sed '/pattern1/d; /pattern2/d' and sed -e '/pattern1/d' -e '/pattern2/d' I believe those are portable across all `sed` implementations, and they at least work with GNU `sed --posix` and plan9port's sed.
- jf 6y agoThank you! This is exactly the kind of reply I was hoping for.