Eduardo Meyer escreveu:
[...]

Now my next problem, do the sabe with sockstat....

%sockstat | head -4
USER     COMMAND    PID   FD PROTO  LOCAL ADDRESS         FOREIGN ADDRESS
freebsdsupportsshd   57255 3  tcp4   172.16.0.225:22       172.16.0.69:63583
freebsdsupportsshd   57255 4  stream -> ??
root     sshd       57253 3  tcp4   172.16.0.225:22       172.16.0.69:63583

So I have the USER and COMMAND column "merged" in a single string,
because username is large. Again, space can not be used as a
separator, but hopefully only the patterns with "->" will have space
if not a column separator, easier to parse.

But sockstat have no formatting option to be issued like -o from
ps(1). Measing in the very first sockstat output, I dont know what to
do... :(

You wont be able to parse it. I believe sockstat was written when username was limited to 8 chars. Therefore, it will count until the 9th position to print another space.

I dont know if patching is an option for you, but you can truncate the username printing up to 8 chars. This is the huge patch which will make your output look better and get fully parseable:

--- sockstat.c.orig     2007-06-16 17:24:55.000000000 -0300
+++ sockstat.c  2008-10-30 21:57:05.000000000 -0200
@@ -586,7 +586,7 @@
                if ((pwd = getpwuid(xf->xf_uid)) == NULL)
                        pos += xprintf("%lu", (u_long)xf->xf_uid);
                else
-                       pos += xprintf("%s", pwd->pw_name);
+                       pos += xprintf("%.8s", pwd->pw_name);
                while (pos < 9)
                        pos += xprintf(" ");
                pos += xprintf("%.10s", getprocname(xf->xf_pid));




--
Patrick Tracanelli

FreeBSD Brasil LTDA.
Tel.: (31) 3516-0800
[EMAIL PROTECTED]
http://www.freebsdbrasil.com.br
"Long live Hanin Elias, Kim Deal!"

_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to