I think I mentioned that I’m writing a book about Linux programming using a new (yet to be released) programming tool. This weekend I’m working on a chapter about processes: how to create, destroy, and control them. I am seriously impressed by Linux’s wide range of process manipulation functions, but equally distressed by the seeming lack of coordination among the different API families. And the available documentation, as I’ve come to expect, is thin and hard to find. Fortunately, the more I learn the easier it is to form intelligent search queries, and the man pages have been quite helpful.
Some of the commands and API calls are pretty obscure, though. For example, to launch a process with a lower priority, you use the nice command. The command renice lowers the priority of an existing process. Why the word “nice?” Because by lowering the priority of your process (normal users can’t increase a process’s priority), you’re being nice to other users. Man, that’s obscure.