The Linux
Programming
inTerface
A Linux and UNIX System Programming Handbook
®
Michael KerrisK
,
, PRAISE FOR THE LINUX PROGRAMMING INTERFACE
“If I had to choose a single book to sit next to my machine when writing
software for Linux, this would be it.”
—MARTIN LANDERS, SOFTWARE ENGINEER, GOOGLE
“This book, with its detailed descriptions and examples, contains everything
you need to understand the details and nuances of the low-level programming
APIs in Linux . . . no matter what the level of reader, there will be something
to be learnt from this book.”
—MEL GORMAN, AUTHOR OF Understanding the Linux Virtual Memory Manager
“Michael Kerrisk has not only written a great book about Linux programming
and how it relates to various standards, but has also taken care that bugs he
noticed got fixed and the man pages were (greatly) improved. In all three
ways, he has made Linux programming easier. The in-depth treatment of
topics in The Linux Programming Interface . . . makes it a must-have reference
for both new and experienced Linux programmers.”
—ANDREAS JAEGER, PROGRAM MANAGER, OPENSUSE, NOVELL
“Michael’s inexhaustible determination to get his information right, and to
express it clearly and concisely, has resulted in a strong reference source for
programmers. While this work is targeted at Linux programmers, it will be of
value to any programmer working in the UNIX/POSIX ecosystem.”
—DAVID BUTENHOF, AUTHOR OF Programming with POSIX Threads AND
CONTRIBUTOR TO THE POSIX AND UNIX STANDARDS
“ . . . a very thorough—yet easy to read—explanation of UNIX system and
network programming, with an emphasis on Linux systems. It’s certainly a
book I’d recommend to anybody wanting to get into UNIX programming
(in general) or to experienced UNIX programmers wanting to know ‘what’s
new’ in the popular GNU/Linux system.”
—FERNANDO GONT, NETWORK SECURITY RESEARCHER, IETF PARTICIPANT, AND
RFC AUTHOR
, “ . . . encyclopedic in the breadth and depth of its coverage, and textbook-
like in its wealth of worked examples and exercises. Each topic is clearly
and comprehensively covered, from theory to hands-on working code.
Professionals, students, educators, this is the Linux/UNIX reference that
you have been waiting for.”
—ANTHONY ROBINS, ASSOCIATE PROFESSOR OF COMPUTER SCIENCE, THE
UNIVERSITY OF OTAGO
“I’ve been very impressed by the precision, the quality and the level of detail
Michael Kerrisk put in his book. He is a great expert of Linux system calls
and lets us share his knowledge and understanding of the Linux APIs.”
—CHRISTOPHE BLAESS, AUTHOR OF Programmation système en C sous Linux
“ . . . an essential resource for the serious or professional Linux and UNIX
systems programmer. Michael Kerrisk covers the use of all the key APIs
across both the Linux and UNIX system interfaces with clear descriptions
and tutorial examples and stresses the importance and benefits of following
standards such as the Single UNIX Specification and POSIX 1003.1.”
—ANDREW JOSEY, DIRECTOR, STANDARDS, THE OPEN GROUP, AND CHAIR OF
THE POSIX 1003.1 WORKING GROUP
“What could be better than an encyclopedic reference to the Linux system,
from the standpoint of the system programmer, written by none other than
the maintainer of the man pages himself? The Linux Programming Interface is
comprehensive and detailed. I firmly expect it to become an indispensable
addition to my programming bookshelf.”
—BILL GALLMEISTER, AUTHOR OF POSIX.4 Programmer’s Guide: Programming for
the Real World
“ . . . the most complete and up-to-date book about Linux and UNIX system
programming. If you’re new to Linux system programming, if you’re a UNIX
veteran focused on portability while interested in learning the Linux way,
or if you’re simply looking for an excellent reference about the Linux pro-
gramming interface, then Michael Kerrisk’s book is definitely the companion
you want on your bookshelf.”
—LOÏC DOMAIGNÉ, CHIEF SOFTWARE ARCHITECT (EMBEDDED), CORPULS.COM
Programming
inTerface
A Linux and UNIX System Programming Handbook
®
Michael KerrisK
,
, PRAISE FOR THE LINUX PROGRAMMING INTERFACE
“If I had to choose a single book to sit next to my machine when writing
software for Linux, this would be it.”
—MARTIN LANDERS, SOFTWARE ENGINEER, GOOGLE
“This book, with its detailed descriptions and examples, contains everything
you need to understand the details and nuances of the low-level programming
APIs in Linux . . . no matter what the level of reader, there will be something
to be learnt from this book.”
—MEL GORMAN, AUTHOR OF Understanding the Linux Virtual Memory Manager
“Michael Kerrisk has not only written a great book about Linux programming
and how it relates to various standards, but has also taken care that bugs he
noticed got fixed and the man pages were (greatly) improved. In all three
ways, he has made Linux programming easier. The in-depth treatment of
topics in The Linux Programming Interface . . . makes it a must-have reference
for both new and experienced Linux programmers.”
—ANDREAS JAEGER, PROGRAM MANAGER, OPENSUSE, NOVELL
“Michael’s inexhaustible determination to get his information right, and to
express it clearly and concisely, has resulted in a strong reference source for
programmers. While this work is targeted at Linux programmers, it will be of
value to any programmer working in the UNIX/POSIX ecosystem.”
—DAVID BUTENHOF, AUTHOR OF Programming with POSIX Threads AND
CONTRIBUTOR TO THE POSIX AND UNIX STANDARDS
“ . . . a very thorough—yet easy to read—explanation of UNIX system and
network programming, with an emphasis on Linux systems. It’s certainly a
book I’d recommend to anybody wanting to get into UNIX programming
(in general) or to experienced UNIX programmers wanting to know ‘what’s
new’ in the popular GNU/Linux system.”
—FERNANDO GONT, NETWORK SECURITY RESEARCHER, IETF PARTICIPANT, AND
RFC AUTHOR
, “ . . . encyclopedic in the breadth and depth of its coverage, and textbook-
like in its wealth of worked examples and exercises. Each topic is clearly
and comprehensively covered, from theory to hands-on working code.
Professionals, students, educators, this is the Linux/UNIX reference that
you have been waiting for.”
—ANTHONY ROBINS, ASSOCIATE PROFESSOR OF COMPUTER SCIENCE, THE
UNIVERSITY OF OTAGO
“I’ve been very impressed by the precision, the quality and the level of detail
Michael Kerrisk put in his book. He is a great expert of Linux system calls
and lets us share his knowledge and understanding of the Linux APIs.”
—CHRISTOPHE BLAESS, AUTHOR OF Programmation système en C sous Linux
“ . . . an essential resource for the serious or professional Linux and UNIX
systems programmer. Michael Kerrisk covers the use of all the key APIs
across both the Linux and UNIX system interfaces with clear descriptions
and tutorial examples and stresses the importance and benefits of following
standards such as the Single UNIX Specification and POSIX 1003.1.”
—ANDREW JOSEY, DIRECTOR, STANDARDS, THE OPEN GROUP, AND CHAIR OF
THE POSIX 1003.1 WORKING GROUP
“What could be better than an encyclopedic reference to the Linux system,
from the standpoint of the system programmer, written by none other than
the maintainer of the man pages himself? The Linux Programming Interface is
comprehensive and detailed. I firmly expect it to become an indispensable
addition to my programming bookshelf.”
—BILL GALLMEISTER, AUTHOR OF POSIX.4 Programmer’s Guide: Programming for
the Real World
“ . . . the most complete and up-to-date book about Linux and UNIX system
programming. If you’re new to Linux system programming, if you’re a UNIX
veteran focused on portability while interested in learning the Linux way,
or if you’re simply looking for an excellent reference about the Linux pro-
gramming interface, then Michael Kerrisk’s book is definitely the companion
you want on your bookshelf.”
—LOÏC DOMAIGNÉ, CHIEF SOFTWARE ARCHITECT (EMBEDDED), CORPULS.COM