Summary
In this chapter, we have shown how to create, list, control, schedule, and delete processes, how to send signals to them, and how to trace their system calls. Because processes run in private address spaces, they cannot interfere with one another, and no special effort needs to be made to write programs that can run at the same time.
Processes can catch all but two of several dozen signals, and
either ignore them or respond to them with any desired action. The two
uncatchable signals, KILL
and
STOP
, ensure that even badly
misbehaving processes can be killed or suspended. Programs that need to
perform cleanup actions, such as saving active files, resetting terminal
modes, or removing locks, generally catch common signals; otherwise,
most uncaught signals cause process termination. The trap command makes it easy to add simple
signal handling to shell scripts.
Finally, we examined several different mechanisms for delaying or
controlling process execution. Of these, sleep
is the most useful for shell scripting,
although the others all have their uses.
Get Classic Shell Scripting now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.