summaryrefslogtreecommitdiff
path: root/sys/src/cmd/ps.c
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@gmx.de>2012-08-02 02:47:18 +0200
committercinap_lenrek <cinap_lenrek@gmx.de>2012-08-02 02:47:18 +0200
commitdc25c70249533d18279555eab7b1bd22af170e82 (patch)
treeba1c50015578a06a71ee0d9cf8358052ca3d0cd6 /sys/src/cmd/ps.c
parent1159f1e54f376cbd8db7ea9387818c2c10f79627 (diff)
ps -n print note group
Diffstat (limited to 'sys/src/cmd/ps.c')
-rw-r--r--sys/src/cmd/ps.c22
1 files changed, 20 insertions, 2 deletions
diff --git a/sys/src/cmd/ps.c b/sys/src/cmd/ps.c
index 9ad1305a3..7626bd4cf 100644
--- a/sys/src/cmd/ps.c
+++ b/sys/src/cmd/ps.c
@@ -9,6 +9,7 @@ int cmp(void*, void*);
Biobuf bout;
int pflag;
int aflag;
+int nflag;
int rflag;
void
@@ -25,6 +26,9 @@ main(int argc, char *argv[])
case 'p':
pflag++;
break;
+ case 'n':
+ nflag++;
+ break;
case 'r':
rflag++;
break;
@@ -60,7 +64,7 @@ ps(char *s)
{
ulong utime, stime, rtime, size;
int argc, basepri, fd, i, n, pri;
- char args[256], *argv[16], buf[64], pbuf[8], rbuf[20], rbuf1[20], status[4096];
+ char args[256], *argv[16], buf[64], nbuf[13], pbuf[8], rbuf[20], rbuf1[20], status[4096];
sprint(buf, "%s/status", s);
fd = open(buf, OREAD);
@@ -89,6 +93,19 @@ ps(char *s)
stime = strtoul(argv[4], 0, 0)/1000;
rtime = strtoul(argv[5], 0, 0)/1000;
size = strtoul(argv[9], 0, 0);
+ if(nflag){
+ snprint(nbuf, sizeof nbuf, " %8s", "?");
+ sprint(buf, "%s/noteid", s);
+ fd = open(buf, OREAD);
+ if(fd >= 0) {
+ n = read(fd, buf, sizeof buf-1);
+ close(fd);
+ if(n > 0)
+ snprint(nbuf, sizeof nbuf, " %7ud", atoi(buf));
+ }
+ }else
+ nbuf[0] = 0;
+
if(pflag){
basepri = strtoul(argv[10], 0, 0);
pri = strtoul(argv[11], 0, 0);
@@ -107,9 +124,10 @@ ps(char *s)
}else
rbuf1[0] = 0;
- Bprint(&bout, "%-10s %8s%s %4lud:%.2lud %3lud:%.2lud %s %7ludK %-8.8s ",
+ Bprint(&bout, "%-10s %8s%s%s %4lud:%.2lud %3lud:%.2lud %s %7ludK %-8.8s ",
argv[1],
s,
+ nbuf,
rbuf1,
utime/60, utime%60,
stime/60, stime%60,