Earlier quoted context omitted.
You don't need any of those `exec`s. Yes, GNU grep has `-a`. If you don't like the backslash-newline-pipe sequence, if you put the pipe at the end of the previous line, you don't need the backslash; but it's less obvious that the next line is operating on the output of the previous. Multi-line arguments to sed can be a pain (good luck getting your editor to auto-indent them). Instead, you can use -e to specify multip…
Thanks for taking the time to comment. Multiple arguments could be added if you want that. I personally do not need it as I search the cmdline patterns I need without using spaces. I use dots instead. Quick and dirty. I write 100's of these small scripts for my own use only so I have my own style, peculiar as it may be. I never need indentation because I always keep scripts short; I only use it occasionally and rando…
A Unix Utility to Know About: lsof (2009)
51–54 of 54 posts
Re: A Unix Utility to Know About: lsof (2009)
#52Earlier quoted context omitted.
Thanks for taking the time to comment. Multiple arguments could be added if you want that. I personally do not need it as I search the cmdline patterns I need without using spaces. I use dots instead. Quick and dirty. I write 100's of these small scripts for my own use only so I have my own style, peculiar as it may be. I never need indentation because I always keep scripts short; I only use it occasionally and rando…
What shell are you using? I could see a naive shell forking twice without exec, but I don't know of a shell that does that. Exec just says "don't fork(3) before calling exec(3)", but, but inside of a pipeline like that, it shouldn't fork again anyway. I have tried it with and without.
Normally I would only add exec to the last command in the script, as djb does. But then I started experimenting with using it after pipes.
If you or anyone can explain why this could make scripts "seem" to execute faster, I would be grateful.
Here's the shell source: ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-release-7/src/bin/sh
Incidentally, have you ever tried execlineb? I use that sometimes too.
Re: A Unix Utility to Know About: lsof (2009)
#53Earlier quoted context omitted.
Yeah, I always felt having to type the extra bit was strange, like maybe grep could have a switch to say "don't find grep" but I guess having a switch for such a specific use case, grepping processes, is overkill. Anyway, it's just a reflex now to always: ps aux | grep | grep -v grep
You can also surround each character in the program's name with square brackets. ps -ef | grep [p][r][o][g][r][a][m]
This is why I love HN, I learn stuff I never knew I wanted to know!
Re: A Unix Utility to Know About: lsof (2009)
#54Earlier quoted context omitted.
For interactive use, I strongly recommend htop if you're still doing stuff like "ps aux | grep" and then "kill 84728". Htop is top on steroids: ncurses-based and very fast, has colors, threaded or flat process view, sorting by different criteria like cpu or ram use, searching for substring match in process name, interface to killing/signalling to selected process, etc. http://hisham.hm/htop/
I am more a `killall ` guy.