Managing Processes in Linux/Unix :
top, ps, kill, df, free, nice
What
is a process?
An instance of a program is called
a Process. In simple terms, any command that you give to your Linux machine
starts a new process.
|
It’s possible to have multiple processes
for the same program.
Types of Processes:
- Foreground Processes: They run on the screen and need input from the user. For example : Office Programs
- Background Processes: They run in the background and usually do not need user input. For example Antivirus.
Running
a foreground Process
To start a foreground process you
can either run it from the dash board or you can run it from the terminal.
When using the Terminal, you will
have to wait, until the foreground process runs.
Running
a Background process
If you start a foreground
program/process from the terminal, then you cannot work on the terminal, till
the program is up and running.
Certain, data intensive tasks take
lots of processing power and may even take hours to complete. You do not want your
terminal to be held up for such a long time.
To avoid such a situation, you can
run the program and send it to the background so that terminal remains
available to you. Let’s learn how to do this -
Fg
You can use the command “fg” to
continue a program which was stopped and bring it to the foreground.
The simple syntax for this utility
is:
fg
Example
- Launch ‘banshee’ music player
- Stop it with the ‘ctrl +z’ command
- Continue it with the ‘fg’ utility.
Let’s look at other important
commands to manage processes -
Top
This utility tells the user about
all the running processes on the Linux machine.
Press ‘q’ on the keyboard to move
out of the process display.
The terminology follows:
Field
|
Description
|
Example
1
|
Example
2
|
PID
|
The
process ID of each task
|
1525
|
961
|
User
|
The
username of task owner
|
Home
|
Root
|
PR
|
Priority
Can
be 20(highest) or -20(lowest)
|
20
|
20
|
NI
|
The
nice value of a task
|
0
|
0
|
VIRT
|
Virtual
memory used (kb)
|
1775
|
75972
|
RES
|
Physical
memory used (kb)
|
100
|
51
|
SHR
|
Shared
memory used (kb)
|
28
|
7952
|
S
|
Status
There are five types:
'D' = uninterruptible sleep
'R' = running
'S' = sleeping
'T' = traced or stopped
'Z' = zombie
|
S
|
R
|
%CPU
|
%
of CPU time
|
1.7
|
1.0
|
%MEM
|
Physical
memory used
|
10
|
5.1
|
TIME+
|
Total
CPU time
|
5:05.34
|
2:23.42
|
Command
|
Command
name
|
Photoshop.exe
|
Xorg
|
PS
This command stands for ‘Process
Status’. It is similar to the “Task Manager” that pop-ups in a Windows
Machine when we use Cntrl+Alt+Del . This command is similar to ‘top’ command
but the information displayed is different.
To check all the processes running
under a user, use the command -
ps ux
You can also check the process
status of a single process , use the syntax -
ps PID
Kill
This command terminates a running
processes on a Linux machine.
In order to use this utility
you need to know the PID (process id) of the process you want to kill
Syntax –
kill PID
To find the PID of a process simply
type
pidof Processname
Let us try it with an example
NICE
Linux can run a lot of
processes at a time ,which can slow down the speed of some high priority
processes and result in poor performance.
To avoid this, you can tell your
machine to prioritize processes as per your requirements
This priority is called Niceness
in Linux and it has a value between -20 to 19. The lower the
Niceness index the higher would be priority given to that task.
The default value of all the
processes is 0.
To start a process with a niceness
value other than the default value use the following syntax
nice –n ‘Nice value’ process name
If there is some process already
running on the system then you can ‘Renice’ its value using syntax.
renice ‘nice value’ –p ‘PID’
To change Niceness you can use the
‘top’ command to determine the PID (process id) and its Nice value. Later
use the renice command to change the value.
Let us understand this by an
example.
DF
This utility reports the free disk
space(Hard Disk) on all the file systems.
If you want the above information in
a readable format , then use the command
‘df –h’
Free
This command shows the free and used
memory (RAM) on the Linux system.
You can use the arguments
free -m to display output in
MB
free -g to display output in
GB
Summary:
- Any running program or a command given to a Linux system is called a process
- A process could run in foreground or background
- The priority index of a process is called Nice in Linux. Its default value is 0 and it can vary between 20 to -19
- The lower the Niceness index the higher would be priority given to that task
Command
|
Description
|
bg
|
To
send a process to background
|
fg
|
To
run a stopped process in foreground
|
top
|
Details
on all Active Processes
|
ps
|
Give
the status of processes running for a user
|
ps
PID
|
Gives
the status of a particular process
|
pidof
|
Gives
the Process ID (PID) of a process
|
kill
PID
|
Kills
a process
|
nice
|
Starts
a process with a given priority
|
renice
|
Changes
priority of an already running process
|
df
|
Gives
free hard disk space on your system
|
free
|
Gives
free RAM on your system
|
0 comments:
Post a Comment