LiveFire Labs: Online UNIX Training with Hands-on Internet Lab

"Taking a LiveFire Labs' course is an excellent way to learn Linux/Unix. The lessons are well thought out, the material is explained thoroughly, and you get to perform exercises on a real Linux/Unix box. It was money well spent."

Ray S.
Pembrook Pines, Florida

LiveFire Labs' UNIX and Linux Operating System Fundamentals course was very enjoyable. Although I regularly used UNIX systems for 16 years, I haven't done so since 2000. This course was a great refresher. The exercises were fun and helped me gain a real feel for working with UNIX/Linux OS. Thanks very much!"

Ming Sabourin
Senior Technical Writer
Nuance Communications, Inc.
Montréal, Canada

Read more student testimonials...

Receive UNIX Tips, Tricks, and Shell Scripts by Email

LiveFire Labs' UNIX Tip, Trick, or Shell Script of the Week

UNIX Process Management - Part I

Since the UNIX and Linux operating systems are multiuser and multitasking operating systems, there are a large number of system activities for the operating system to continuously track and manage. Processes are used by the operating system to effectively and efficiently handle this seemingly complicated task.

Because of the multitasking capabilities of these operating systems, each user also needs a method for tracking and managing the simultaneous tasks he or she is working on. Jobs and job control provide this method for the user.

What is a UNIX Process?

A process in UNIX or Linux is an executing command or program. The process is what actually performs the work of the command or program.

A process is created every time you run a UNIX command or program from the command line. For example, when you execute a simple command like ls, a single process is created to list the contents of the working directory. A command line containing multiple UNIX commands separated by pipes will execute one process per pipe section.

Another example of a process is the shell managing your login session. This process is created after your username and password has been validated by the system during login. Most of the time a process will live, execute, and die without any intervention from the process owner.

Key Attributes of a UNIX Process

Each UNIX process has many attributes associated with it. The following list contains some of the key attributes of a process:

Process ID (PID) - a unique number assigned to the process when it is created. The system and the process's owner use this number to manage the process.

Parent Process ID (PPID) - the process ID of the process's parent.

User ID (UID) - the user ID number of the user who started the process.

Group ID (GID) - the group ID number of the user who started the process.

TTY - the terminal device associated with the process.

Need a simple script to monitor and restart your system processes automatically?

See ProcMonUX - a Simple Lightweight Process Monitor Script with Alerts, Restart and Logging for more info. It works with both UNIX and Linux...and it's FREE!

Read the NEXT article in this series - UNIX Process Management - Part II (Parent-Child, Fork-and-Exec, Daemons)