Chapter 9. Processes and System Calls: Breaking boundaries

It’s time to think outside the box.
You’ve already seen that you can build complex applications by connecting small tools together on the command line. But what if you want to use other programs from inside your own code? In this chapter, you’ll learn how to use system services to create and control processes. That will give your programs access to email, the Web, and any other tool you’ve got installed. By the end of the chapter, you’ll have the power to go beyond C.
System calls are your hotline to the OS
C programs rely on the operating system for pretty much
everything. They make system calls if
they want to talk to the hardware. System calls are just functions that
live inside the operating system’s kernel. Most of the code in the C Standard
Library depends on them. Whenever you call printf() to display something on the command
line, somewhere at the back of things, a system call will be made to the
operating system to send the string of text to the screen.

Let’s look at an example of a system call. We’ll begin with one
called (appropriately) system().
system() takes a single string
parameter and executes it as if you had typed it on the command
line:
The system() function is an easy way of running other programs from your ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access