Presentation is loading. Please wait.

Presentation is loading. Please wait.

Linux+ Guide to Linux Certification, Second Edition Chapter 10 Managing Linux Processes.

Similar presentations


Presentation on theme: "Linux+ Guide to Linux Certification, Second Edition Chapter 10 Managing Linux Processes."— Presentation transcript:

1 Linux+ Guide to Linux Certification, Second Edition Chapter 10 Managing Linux Processes

2 Linux+ Guide to Linux Certification, 2e2 Objectives Categorize the different types of processes on a Linux system View processes using standard Linux utilities Illustrate the difference between common kill signals Describe how binary programs and shell scripts are executed

3 Linux+ Guide to Linux Certification, 2e3 Objectives (continued) Create and manipulate background processes Use standard Linux utilities to modify the priority of a process Schedule commands to execute in the future using the at daemon Schedule commands to execute repetitively using the cron daemon

4 Linux+ Guide to Linux Certification, 2e4 Linux Processes Program: Structured set of commands stored in an executable file –Executed to create a process Process: Program running in memory and on CPU User process: Process begun by user on a terminal Daemon process: System process –Not associated with a terminal

5 Linux+ Guide to Linux Certification, 2e5 Linux Processes (continued) Process ID (PID): Unique identifier assigned to a process Child process: Process started by another process (parent process) Parent process: Process that has started other processes (child processes) Parent Process ID (PPID): Parent process’s PID

6 Linux+ Guide to Linux Certification, 2e6 Linux Processes (continued) Figure 10-1: Parent and child processes

7 Linux+ Guide to Linux Certification, 2e7 Linux Processes (continued) Figure 10-2: Process genealogy

8 Linux+ Guide to Linux Certification, 2e8 Viewing Processes ps command: View processes –Most common process viewing utility –No arguments: Lists all processes running in current shell PID, terminal, command that started process, CPU time ––f (full) option: More complete information User identifier (UID), PPID, start time, CPU utilization

9 Linux+ Guide to Linux Certification, 2e9 Viewing Processes (continued) Process state: Current processor state of process –Most processes sleeping (S) or running (R) Zombie process: Process finished, but parent has not released PID –Defunct process –Process state is Z

10 Linux+ Guide to Linux Certification, 2e10 Viewing Processes (continued) Process priority (PRI): Determines how many processor time slices process will receive –Higher value means lower priority Nice value (NI): Indirectly represents priority –Higher value means lower priority

11 Linux+ Guide to Linux Certification, 2e11 Viewing Processes (continued) Table 10-1: Common options to the ps command

12 Linux+ Guide to Linux Certification, 2e12 Viewing Processes (continued) top command: Displays interactive screen listing processes –Organized by processor time –Processes using most processor time listed first Rogue process: Faulty process –Consumes excessive system resources top command can be used to change PRI or kill processes

13 Linux+ Guide to Linux Certification, 2e13 Killing Processes kill signal: Sent to a process by kill command –64 types of kill signals Affect processes in different ways kill command: Kills all instances of a process by command name –To kill a process, give kill signal and PID If no kill signal given, SIGTERM assumed

14 Linux+ Guide to Linux Certification, 2e14 Killing Processes (continued) Table 10-2: Common administrative kill signals

15 Linux+ Guide to Linux Certification, 2e15 Killing Processes (continued) Trapping: Ignore a kill signal Kill signals sent to processes having children –Parent process terminates all child processes before terminating itself Often necessary to kill parent process in order to kill zombie processes

16 Linux+ Guide to Linux Certification, 2e16 Killing Processes (continued) killall command: Kills all instances of a process by command name –Uses process name instead of PID Can use top command to kill processes

17 Linux+ Guide to Linux Certification, 2e17 Process Execution Three main types of executable commands –Binary programs –Shell scripts –Shell functions

18 Linux+ Guide to Linux Certification, 2e18 Process Execution (continued) Forking: Act of creating new BASH shell child process from a parent –Fork function in BASH shell –Subshell executes program or shell script using exec function –Original shell waits for subshell to complete –When done, subshell kills itself Control returns to original shell

19 Linux+ Guide to Linux Certification, 2e19 Process Execution (continued) Figure 10-3: Process forking

20 Linux+ Guide to Linux Certification, 2e20 Running Processes in the Background Foreground processes: BASH shell must wait for termination Background processes: BASH shell does not wait for termination –& metacharacter –Upon execution, user receives BASH shell prompt immediately

21 Linux+ Guide to Linux Certification, 2e21 Running Processes in the Background (continued) jobs command: Lists background processes running in current shell foreground (fg) command: Run a background process in foreground Foreground process may be paused with ctrl Z background (bg) command: Run a foreground process in background

22 Linux+ Guide to Linux Certification, 2e22 Running Processes in the Background (continued) Jobs command marks two most recent background processes –Commands operate on most recent process, by default

23 Linux+ Guide to Linux Certification, 2e23 Process Priorities Time slice: Amount of time a process is given on a CPU –More time slices mean more execution time on CPU Executes faster –Usually measured in milliseconds

24 Linux+ Guide to Linux Certification, 2e24 Process Priorities (continued) PRI dictates number of time slices a process gets –Cannot change PRI value directly –Set NI to indirectly affect priority Processes start with NI of 0 nice command: Change a process’s priority as it starts

25 Linux+ Guide to Linux Certification, 2e25 Process Priorities (continued) Figure 10-4: The nice value scale

26 Linux+ Guide to Linux Certification, 2e26 Process Priorities (continued) renice command: Alter NI of a process after it is running –Only root user may change NI to a negative value May also change NI of running processes using top utility

27 Linux+ Guide to Linux Certification, 2e27 Scheduling Commands at daemon (atd): System daemon that executes tasks at a future time cron daemon (crond): System daemon that executes tasks repetitively in the future

28 Linux+ Guide to Linux Certification, 2e28 Scheduling Commands with atd at command: Schedule commands and tasks to run at a preset time ––l option: View a list of scheduled jobs Regular users see only their own jobs ––c option: View system environment at scheduling time ––d option: Delete a job ––f option: Run scheduled jobs from shell script

29 Linux+ Guide to Linux Certification, 2e29 Scheduling Commands with atd (continued) atq command: Alternative method to view scheduled jobs at daemon uses current shell’s environment for execution –Shell environment and scheduled commands stored in /var/spool/at If stdout of scheduled command has not been redirected to file, mailed to user

30 Linux+ Guide to Linux Certification, 2e30 Scheduling Commands with atd (continued) Table 10-3: Common at commands

31 Linux+ Guide to Linux Certification, 2e31 Scheduling Commands with atd (continued) /etc/at.allow: File listing all users able to use at command /etc/at.deny: File listing all the users not able to use at command On Fedora Linux systems, no /etc/at.allow file exists –Empty by default All users allowed to use at daemon

32 Linux+ Guide to Linux Certification, 2e32 Scheduling Commands with crond Cron tables: Files specifying tasks for cron daemon to run –Specify when commands should be executed –User and system cron tables –Six fields separated by space or tab characters

33 Linux+ Guide to Linux Certification, 2e33 Scheduling Commands with crond (continued) Figure 10-5: User cron table format

34 Linux+ Guide to Linux Certification, 2e34 Scheduling Commands with crond (continued) Figure 10-6: Sample user cron table entry

35 Linux+ Guide to Linux Certification, 2e35 Scheduling Commands with crond (continued) /var/spool/cron: Stores user cron tables /etc/crontab: Contains default system cron table /etc/cron.d: Contains additional system cron tables

36 Linux+ Guide to Linux Certification, 2e36 User Cron Tables /etc/cron.allow: Lists users able to use cron command /etc/cron.deny: Lists users not able to access cron command

37 Linux+ Guide to Linux Certification, 2e37 User Cron Tables (continued) crontab command: View and edit user cron tables ––e option: Edit cron tables in vi editor ––l option: List a user cron table ––r option: Remove all scheduled jobs

38 Linux+ Guide to Linux Certification, 2e38 The System Cron Table System maintenance, backups, and CPU-intensive tasks often scheduled for non-business hours –Often scheduled by cron daemon Entries in system cron table (/etc/crontab)

39 Linux+ Guide to Linux Certification, 2e39 The System Cron Table (continued) Initial section of cron table specifies execution environment Remainder similar to user cron table entries Sixth field specifies who to run command as Remaining fields represent command to run run-parts command: Execute all files in a directory

40 Linux+ Guide to Linux Certification, 2e40 Summary Processes are programs that are executing on the system User processes are run in the same terminal as the user who executed them, whereas daemon processes are system processes that do not run on a terminal Every process has a parent process associated with it and, optionally, several child processes

41 Linux+ Guide to Linux Certification, 2e41 Summary (continued) Process information is stored in the /proc filesystem; the ps and top commands can be used to view this information Zombie and rogue processes that exist for long periods of time use up system resources You can send kill signals to a process using the kill, killall, and top commands

42 Linux+ Guide to Linux Certification, 2e42 Summary (continued) The BASH shell forks a subshell to execute most commands Processes can be run in the background by appending an & to the command name The priority of a process can be affected indirectly by altering its NI Commands can be scheduled to run at a later time using the at and cron daemons


Download ppt "Linux+ Guide to Linux Certification, Second Edition Chapter 10 Managing Linux Processes."

Similar presentations


Ads by Google