On a typical Linux server, there can be over a hundred processes running at any given time. The purposes of these processes ranges from system services such as Apache, Network Time Protocol (NTP), and others, to processes that serve information to others, such as the Apache web server. As an administrator of Ubuntu servers, you will need to be able to manage these processes, as well as manage the resources available to them. In this chapter, we'll take a look at process management, including the ps
command, managing job
control commands, and more. As we work through these concepts, we will cover:
Showing running processes with the
ps
commandManaging jobs
Killing misbehaving processes
Utilizing
htop
Managing system processes
Enabling services to run at boot time
Managing processes on legacy servers with upstart
Monitoring memory usage
Scheduling tasks with Cron
Understanding load average