The Linux Programming Interface
A Linux and UNIX System Programming Handbook
Publisher: No Starch Press
Released: October 2010
Pages: 1552

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.



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 systeme 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 programming interface, then Michael Kerrisk's book is definitely the companion you want on your bookshelf." —Loic Domaigne, Chief Software Architect (Embedded), Corpuls.com
Table of Contents
Product Details
About the Author
Recommended for You
Customer Reviews

REVIEW SNAPSHOT®

by PowerReviews
No Starch PressThe Linux Programming Interface
 
5.0

(based on 9 reviews)

Ratings Distribution

  • 5 Stars

     

    (9)

  • 4 Stars

     

    (0)

  • 3 Stars

     

    (0)

  • 2 Stars

     

    (0)

  • 1 Stars

     

    (0)

100%

of respondents would recommend this to a friend.

Pros

  • Accurate (9)
  • Well-written (9)
  • Helpful examples (8)
  • Easy to understand (6)
  • Concise (4)

Cons

    Best Uses

    • Intermediate (8)
    • Expert (6)
    • Novice (4)
    • Student (4)
      • Reviewer Profile:
      • Developer (7)

    Reviewed by 9 customers

    Sort by

    Displaying reviews 1-9

    Back to top

     
    5.0

    The bible to Linux programming.

    By Fayecoga

    from Research Triangle Park, NC

    About Me Designer, Developer, Educator

    Pros

    • Accurate
    • Concise
    • Easy to understand
    • Well-written

    Cons

      Best Uses

      • Intermediate

      Comments about No Starch Press The Linux Programming Interface:

      In valuble reference to system calls, unix tool chain philosophy, and writing robust code.

       
      5.0

      Indispensable

      By catwell

      from Paris

      About Me Developer

      Verified Buyer

      Pros

      • Accurate
      • Helpful examples
      • Well-written

      Cons

        Best Uses

        • Expert
        • Intermediate
        • Student

        Comments about No Starch Press The Linux Programming Interface:

        If you work with POSIX you *must* have this book handy.

         
        5.0

        Excellent Reference

        By Nerdy Dude

        from Hollis, NH

        About Me Maker

        Verified Reviewer

        Pros

        • Accurate
        • Helpful examples
        • Well-written

        Cons

          Best Uses

          • Novice

          Comments about No Starch Press The Linux Programming Interface:

          I do some programming in Linux and have to say this is a wonderful reference. It really gives you an excellent set of programming tools when you write any kind of software in Linux. There's so much there to use as a reference. It's great to have in any collection of books at your desk to help with Linux programming. I don't even understand some of the information but as I learn more about programming within Linux, this will be my go to book.
          I just wanted to say that I did in fact receive this for free from the O'Reilly book review.

           
          5.0

          The Linux Programming Interface

          By Mat

          from Bentonville, AR

          About Me Sys Admin

          Verified Reviewer

          Pros

          • Accurate
          • Concise
          • Easy to understand
          • Helpful examples
          • Well-written

          Cons

            Best Uses

            • Expert
            • Intermediate
            • Novice
            • Student

            Comments about No Starch Press The Linux Programming Interface:

            If you're looking to do some low-level Linux API/Kernel development, this is the book you want close by. This book has it all— from file IO, to processes, threading, memory management, socket programming, you name it. All with well explained examples in C.

            This book is incredibly well structured and the authors delivers well explained concepts with code examples that makes this a vital reference book to any Linux system developer or software engineer.

            Another great aspect of this book is that every system call comes with a complete, fully functional example program. This is unlike a lot of development books that just highlight particular methods or calls.

            Definitely of the the best Linux reference books I've read. Highly recommend.

             
            5.0

            This is THE Linux book

            By Z@K!

            from Seattle, WA

            About Me Developer, Maker

            Verified Reviewer

            Pros

            • Accurate
            • Concise
            • Easy to understand
            • Helpful examples
            • Well-written

            Cons

              Best Uses

              • Expert
              • Intermediate
              • Student

              Comments about No Starch Press The Linux Programming Interface:

              There are brilliant code examples of almost every feature discussed in this book. All subjects are covered in enough detail you can implement them with only the book as a reference. I could not be more pleased I purchased this book.
              The only place that could be improved, as far as I can see, are the "homeworks" at the end of each section. They are perhaps good for memorization and better comprehension of the concepts, but they fall well short of a textbook.

               
              5.0

              Keep this book at arms length!

              By Z@K!

              from Seattle, WA

              About Me Developer

              Verified Reviewer

              Pros

              • Accurate
              • Easy to understand
              • Helpful examples
              • Well-written

              Cons

                Best Uses

                • Intermediate

                Comments about No Starch Press The Linux Programming Interface:

                I was trying to make a very large application that required several processes and all flavors of system calls. This book delivered the fundamental "know-how" that is nearly impossible to glean from the internet. From in-depth discussion of function calls and their proper usage, all the way to proper design patterns. If you are a serious developer, this book should be at arms length.

                 
                5.0

                This book was well written and useful.

                By Richard

                from Boise, ID

                About Me Designer, Developer

                Verified Reviewer

                Pros

                • Accurate
                • Concise
                • Easy to understand
                • Helpful examples
                • Well-written

                Cons

                  Best Uses

                  • Expert
                  • Intermediate
                  • Novice

                  Comments about No Starch Press The Linux Programming Interface:

                  It is pretty much a one stop shop for all Linux application programming questions. The examples are practical, useful, and the author also goes through some of them with explanations of what the code is doing. While this book does covers anything required to interface with Linux from the application's perspective. It does not go into great detail on the drivers or the Linux source code.

                  (8 of 8 customers found this review helpful)

                   
                  5.0

                  Excellent Book

                  By Raj

                  from Herndon, VA

                  About Me Developer

                  Verified Reviewer

                  Pros

                  • Accurate
                  • Easy to understand
                  • Helpful examples
                  • Well-written

                  Cons

                    Best Uses

                    • Expert
                    • Intermediate
                    • Novice
                    • Student

                    Comments about No Starch Press The Linux Programming Interface:

                    This is an excellent book for learning systems programming on Linux/Unix if you have a reading knowledge of the C programming language.
                    The author is the maintainer of Linux man-pages(which documents the Linux kernel and glibc APIS) and hence has a deep knowledge of the internal workings of Linux.
                    In this book, the author covers the whole gamut of Linux/Unix in 1556 pages. Yes, this book is huge but
                    it will really serve your purposes if you are working or plan to work on Linux/Unix. The author covers all the system calls with extreme detail giving plenty of examples after explaining the concepts.

                    This book is highly recommended for those who want to learn systems programming on Linux/Unix. You can use it both for learning concepts and also as a reference.

                    (17 of 17 customers found this review helpful)

                     
                    5.0

                    Extensive Coverage, Very Detailed

                    By jdruin

                    from KY

                    About Me Developer

                    Verified Reviewer

                    Pros

                    • Accurate
                    • Helpful examples
                    • Well-written

                    Cons

                      Best Uses

                      • Expert
                      • Intermediate

                      Comments about No Starch Press The Linux Programming Interface:

                      The Linux Programming Interface by No Starch Press provides detailed, quality coverage of the Linux system. This is a superior reference for Linux programmers and students.

                      Organization is by subject (files, users, processes, threads, process communication, sockets, etc) then by chapters (64 in total). The logical layout is excellent and is supported by a solid index and table of contents.

                      The chapters break down into very detailed sections which provide a description of each system function, the parameters, a description of all flags, return types and example code of using the function. Concepts are explained within each section and diagrams, tables, and figures offer support. All of the system calls are carefully covered and include easy to find boxes which contain the top part of the "man page".

                      The end of each chapter summarizes the sections and has some exercises which allow the book to be used as a text book. The material is sufficiently advanced that the course would likely be 400-level or above but this would be a good textbook for such a course because of the amount of information provided and the ease with which information can be found.

                      This book does not appear to be intended for beginner or those looking for an introduction into Linux programming. The history of the API is covered in chapter one and there are some basic concepts in chapter 2, but there is not a review of C programming or instructions on setting up a programming environment such as an IDE. Those familiar with C programming on Linux for other types of programming will not have difficulty following the text.

                      The book binding itself is high quality with sturdy construction and an excellent hard-cover. The pages are necessarily thin given the 1500 page volume but strong. The font and text are clear and easy to ready. Glare is minimal. The pages do have a slight sheen but are not glossy. Although thin the pages are easy to turn and the pages stay open by themselves.

                      Displaying reviews 1-9

                      Back to top

                       
                      Buy 2 Get 1 Free Free Shipping Guarantee
                      Buying Options
                      Immediate Access - Go Digital what's this?
                      Ebook: $79.95
                      Formats:  ePub, Mobi, PDF
                      Print & Ebook: $109.95
                      Print: $99.95