On 10/26/2016 11:50 AM, Jeff Sharkey wrote: > Doh, I forgot that toybox tries as much as possible to mirror upstream > behavior, so ignore my attempt to redefine "-f".
It's not absolute: I'll deviate from posix, from lsb, from what ubuntu's doing, etc. But I like to have a reason for it, and to document that I'm doing it. For example my "top" implementation is quite bespoke, but "cursor left and right to change what fields you're sorting by", and then making ps's arguments apply to top as well (so top -O does what you think), and making the display values all be acceptable as -o inputs and vice versa... seemed like the obvious way to do it. (I'd like to write up a "why i did stuff in top that way" document but dunno where to stick it. The --help text is intentionally terse, but "-O adds fields to a default set but it's nto THE default set, it chops out NI VIRT RES SHR S to make room"... well hopefully people will pick it up from context?) > Looking at the lsof manpage, there isn't really a direct flag that does > what I'm looking for. :( The closest thing would be something like: > > $ lsof -a -p [pid] -d 0-1024 I admit that part of the reason lsof is still in pending is I'm not an lsof expert and haven't had time to become one. The ubuntu version has 8 gazillion options, no clear explanation of what they do or how they interrelate (unless I make time to sit down and study a 2714 lines man page), and its _default_ behavior is: $ time lsof | wc 320043 3158672 42397642 real 0m31.972s user 0m16.456s sys 0m16.080s This is a HUGELY USEFUL command and I want to make it waaaaaay less impenetrable. Haven't figured out how yet. Ideally lsof, like ps, would show by default a more localized set of processes. But I guess that's what lsof ~ is for... no, that just shows stuff using the directory itself, is there a -r option for things _under_ that directory? If there is I can't find it... Ok, what does this set of flags do: -a: must match all criteria ("and" mode) -p: select process id(s). Can you have -p without an argument? the bracketing above implies -p is required but its argument can be skipped, my parsing itsn't currently set up to do that, and I dunno what -p by itself would mean... -d: Show only the first 1025 file descriptors. Ok. Seems reasonable? (Does "lsof -d cwd" work? Ah, yes it does. Very nice. Ours should do that.) > Which isn't pretty at all. I think I can get the bare-bones info I need > with `ls -lf /proc/[pid]/fd/`, so I'll go that direction for now. Sorry > for the noise. Nothing to apologize for, you came to me with a feature request and I'm trying to figure out the right way accomplish it. You asked for a simple change, and tweaking UI isn't a big deal. If we couldn't find a flag value the old lsof isn't already using we could always add a --bare-longopt with no corresponding short option. (--fd-only" is kinda awkward, but doesn't conflict with anything.) However it sounds like -d 0-99999 is what you really want here. The -ap 12345 thing and/or -au $UID and similar combine with that to filter your selection the same way "find -type f" does. So what you're saying is I need to fill in more of the lsof filter options. :) But I can't personally bang on it too much until after I get through this gps stuff for $DAYJOB. (I'm half a week into another trip to Tokyo: my code's finding bit boundaries in the raw correlator output, downsampling, recognizing subframes, checking/stripping parity data, and calling rtklib to convert the subframes to ephemeris data structures, which have the correct timestamps for when they were collected! Woo! Next we need to synthesize observation structures! Plus hook up the real comparator hardware instead of feeding it stored inputs from last year laboriously correlated by scilab, but that's the guys on the second floor working on that end; the board needs to DMA the register data into a ring buffer to make that part tractable on a 62.5mhz processor, and that's new VHDL. That was also "wednesday". Today I am missing http://elinux.org/Japan_Technical_Jamboree_58-1 because of customer deadlines, and should get back to it...) > j Rob _______________________________________________ Toybox mailing list Toybox@lists.landley.net http://lists.landley.net/listinfo.cgi/toybox-landley.net