Keep Linux processes under control

Daily Newsletters

Sign up to ZDNet UK's daily newsletter.

Monitoring processes with top
Another good program to get familiar with is top. This program is similar to ps but is usually started full screen and updates continuously with process information. This can help with programs that may infrequently cause problems and can be hard to see with ps. Overall system information is also presented, which makes a nice place to start looking for problems. Information such as total system CPU and memory resources, as well as the load average, is helpful by itself. Add to this a list of programs and their current status and individual statistics, and you can see why top is a commonly used tool. Don't forget pstree
And finally, another quick and easy tool for checking processes is pstree. This command will list current processes and their tree structure. When one process starts, it sometimes creates child processes of itself. You can easily see this when you run the command pstree:  
$ pstree -cp 125
httpd(125)-+-httpd(126)
                   |-httpd(127)
                    | -httpd(129)
                    '-httpd(130)
 
Httpd is a good example because it will often spawn child processes. Here, we're looking at the tree for PID 125. If you need to stop httpd but don't want to kill all the individual children, go for the parent process. The pstree command can list trees for individual processes or all the processes on the system. Not only can this help you track down misbehaving processes, but it is also useful as a learning tool. You can learn a lot about Linux executing these commands and reading the associated man pages. Managing processes
Once you have used tools such as ps and top to monitor processes, you need to know how to manage them. You can do this with commands such as kill, killall, and renice. kill sends signals to running processes. The most obvious usage is to halt program execution. You will first need to get the PID for a running program (using ps aux, for example) and then use it in the command as follows: $ kill 125
Under normal circumstances, this should stop the process 125. Also note that you will either need to be the owner of the process or root to halt it. And sometimes, a process will not respond to just a simple kill command. You may have to try the following: $ kill -9 125
If the process is hung and not responding normally, you can try killing it with the -9 flag, as shown in the above example. Instead of sending a sigterm, as a normal kill command does, the -9 sends a sigkill (which forces the program to close). Other signals can be sent to either stop it or possibly restart it. You can see these by running the command kill --l. The command killall, while very much like kill, accepts arguments differently. Instead of passing it a PID, you can pass it a program name. All processes running with that program name will then be stopped. This applies to just the ones you own or to all of them if you are the root user. So running the command killall tcpdump will kill all instances of the program tcpdump. This is much more helpful when many processes are running under a single name. Be sure to watch what processes you stop, especially when you are root. Killing the wrong process could close your session or even halt the system. Get familiar with the standard running programs and how they use resources. Setting a baseline is invaluable in helping to isolate system problems. Remember when I mentioned earlier that you could change the priority of a running process? Well you can do this with the command renice. Changing priority tells the operating system to give a particular process more or less of its CPU time. The range of a process's "niceness" is from -20 to 20, with -20 being the highest priority. So to reduce the priority of httpd process 125, you could run: $ renice +20 125
You can do this on the fly to conserve system resources. The system will also do this naturally and can indicate if one program taking up more resources than it should. Speedier problem solving
The ability to monitor and control processes on your Linux system is essential. Programs such as ps, top, kill, and renice enable you to see what a process is doing and to control it. The more you know about what each process is up to, the easier it will be to pinpoint problems when they creep in. A system usually experiences problems such as slowness or instability for a reason, and using these tools should help you improve your ability to track down the causes.
For a weekly round-up of the enterprise IT news, sign up for the
Enterpise newsletter. Find out what's where in the new Tech Update with our
Guided Tour. Tell us what you think in the
Enterprise Mailroom.

Post your comment

In order to post a comment you need to be registered and logged in.

You can also log in with Facebook. Log in or create your ZDNet UK account below

  • Login

Will not be displayed with your comment

By signing up for this service, you indicate that you agree to our Terms and Conditions and have read and understood our Privacy Policy. Questions about membership? Find the answers in the Community FAQ

Get ZDNet UK's daily newsletter

Enter your email address to sign up

ZDNet UK Live

Thomas Gellhaus

I also installed the KDE version; I also will probably try out razorqt since I really haven't had a chance to before. I'm looking forward to the...

2 hours ago by Thomas Gellhaus via Facebook on Mageia 2 Released
francisabigail

Acquiring when reinvention/cannibalization is too challenging for a large organization can be an excellent strategy- still, so many mergers stumble...

5 hours ago by francisabigail on Ariba buy parks SAP on Oracle's cloud turf
apexwm

All of the feedback regarding using a touch monitor for a desktop PC is right on. Several months ago, we installed a "demo" multitouch all-in-one...

10 hours ago by apexwm on Windows 8 could speed multi-monitor uptake
191706

anyone wanting to triple boot *their* own Mac

11 hours ago by 191706 on xTreme Triple Booting: Linux, Mac & Windows
SoapyTablet

Cont.. Biggest Bugbear: Win7's stop-animate-go approach to work, you develop a staggered (not in the above alchohol sense of the word) approach to...

11 hours ago by SoapyTablet on Windows 8 could speed multi-monitor uptake
SoapyTablet

Ah the joys of Windows 8 Consumer Preview... If Windows 7 was 'Vista with Lipstick', whats Windows 8? Vista with Lipstick, the morning after?...

11 hours ago by SoapyTablet on Windows 8 could speed multi-monitor uptake
daveveej

Though the metro look is quite cool on the windows mobile platform I think that think that microsoft ARE MESSING THINGS UP because what has they...

12 hours ago by daveveej on Windows 8 could speed multi-monitor uptake
Custonian

I agree, we have a few touch screen monitors in work but as Windows7 and the applications we use are not touch screen friendly (the size of the...

12 hours ago by Custonian on Windows 8 could speed multi-monitor uptake
archerthom

I find it amusing that Microsoft added the mouse, which was deemed awkward, but people were forced to use it so it stuck, and now they're saying,...

15 hours ago by archerthom on Windows 8 could speed multi-monitor uptake
BrownieBoy

Agree with other comments. Nobody's going to start reaching out to start tapping their desktop monitors with their fingers. Their arms would tire...

23 hours ago by BrownieBoy on Windows 8 could speed multi-monitor uptake
Random_Error

The only way a touch monitor would be any good is if it were horizontal on the desk, with a virtual keyboard so you could do away with that as well...

1 day ago by Random_Error on Windows 8 could speed multi-monitor uptake
JBDragon

This is just dumb! Forget that I think Windows 8 will bomb, but really, people are going to go out and buy touch Monitors now??? Just pretend...

1 day ago by JBDragon on Windows 8 could speed multi-monitor uptake
Jake Rayson

@Andy Bolstridge > Unfortunately, we need the majority to work 9-5 And therein lies the lie. I work very hard indeed for my idleness, early starts...

1 day ago by Jake Rayson on The Idle Self-employed
Burn-IT

What happens when one hosting platform "acquires data" from another? If I forced the first one to remove it, who is responsible for chasing the...

2 days ago by Burn-IT on Google picks holes in EU's 'right to be forgotten'
JohnTalich

iSpring Pro is a nice tool, that allows PowerPoint to SCORM conversion. They also have free tool, that also generates SCORM compliant courses.

2 days ago by JohnTalich on How To Convert PowerPoint To SCORM Compliant Course
aaron.sloman

I think the answer to the question requires a deeper analysis of where the income can come from who else is now competing for it, who else will be...

2 days ago by aaron.sloman on The three big questions about Facebook's IPO
Brent Pieczynski

Your correctness about Government websites not being compliant with their own websites is correct. Most criticism of other people takes so many...

2 days ago by Brent Pieczynski on Privacy watchdog to chase big companies over cookie law
Kelvyn Taylor

802.11ac does promise some tricks to improve range & reliability, but not sure how these will work in practice until I get real products to play...

2 days ago by Kelvyn Taylor via Facebook on Next-generation 802.11ac routers
mrudang009

My wife and I love our new Kindle Fire. It's lightweight, easy to use and has a great interface. The first thing I recommend anyone with a new...

2 days ago by mrudang009 on Waterstones to sell Kindles with in-store offers
mrudang009

It basically unlocks all the Android marketplace apps and unlocks the device. I am one very happy Kindle owner!

2 days ago by mrudang009 on Waterstones to sell Kindles with in-store offers