The Linux Programming Interface

The Linux Programming Interface

The Linux Programming Interface is the definitive guide to the Linux and UNIX programming interface—the interface employed by nearly every application that runs on a Linux or UNIX system. In this authoritative work, Linux programming expert Michael Kerrisk provides detailed descriptions of the system calls and library functions that you need in order to master the craft of system programming, and accompanies his explanations with clear, complete example programs. You'll find descriptions of over 500 system calls and library functions, and more than 200 example programs, 88 tables, and 115 diagrams. You'll learn how to: * Read and write files efficiently * Use signals, clocks, and timers * Create processes and execute programs * Write secure programs * Write multithreaded programs using POSIX threads * Build and use shared libraries * Perform interprocess communication using pipes, message queues, shared memory, and semaphores * Write network applications with the sockets API While The Linux Programming Interface covers a wealth of Linux-specific features, including epoll, inotify, and the /proc file system, its emphasis on UNIX standards (POSIX.1-2001/SUSv3 and POSIX.1-2008/SUSv4) makes it equally valuable to programmers working on other UNIX platforms. The Linux Programming Interface is the most comprehensive single-volume work on the Linux and UNIX programming interface, and a book that's destined to become a new classic.
Sign up to use

Reviews

Photo of Julien Sobczak
Julien Sobczak@julien-sobczak
5 stars
Oct 22, 2022

A masterpiece. Understanding Linux syscalls is important for developers. Many innovations were made possible due to changes or the appearance of new system calls. And when your application doesn't operate with the expected performance, understanding the Linux system calls will go a long way to help you understand the bottleneck. I read a lot recently about eBPF, and this book was helpful to feel comfortable on this advanced, also important, topic. With over 1500 pages, this book will test the solidity of your bookshelf, and your desire to discover the Linux APIs. It's best to lay the book on your desk. You will not read the book in a few days, but you don't need to read the whole book. It contains many chapters, many examples in C, and reading the first pages of every chapter can be enough to decide if you want to learn more on this subject. You can always come back to read the code examples more attentively before using them in your programs. The Linux Programming Interface is truly a masterpiece. Few technical books impressed me so much (and I read a lot!). The explanations are always clear, succinct, and the book is perfectly organized. A book like this requires dedication over numerous years before going to press. Michael Kerrisk is the maintainer of the Linux man-pages project since 2004, and many man pages were edited during the preparation of this authoritative book. I cannot stop seeing his name now that I have completed the book.