Goodreads helps you keep track of books you want to read.
Start by marking “The Linux Programming Interface: A Linux and Unix System Programming Handbook” as Want to Read:
The Linux Programming Interface: A Linux and Unix System Programming Handbook
Enlarge cover
Rate this book
Clear rating
Open Preview

The Linux Programming Interface: A Linux and Unix System Programming Handbook

4.61  ·  Rating details ·  463 ratings  ·  26 reviews
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
Hardcover, 1506 pages
Published October 27th 2010 by No Starch Press (first published 2010)
More Details... Edit Details

Friend Reviews

To see what your friends thought of this book, please sign up.

Community Reviews

Showing 1-30
Average rating 4.61  · 
Rating details
 ·  463 ratings  ·  26 reviews

More filters
Sort order
Start your review of The Linux Programming Interface: A Linux and Unix System Programming Handbook
Gary Boland
Mar 17, 2014 rated it it was amazing
Shelves: reference, again
It took me more than a year to cover most of the chapters in this book but it is worth it. The most comprehensive explanation of computer science. The truly remarkable aspect is how easy it is to read. Bravo Mr. Kerrisk!
Jan 12, 2012 rated it it was amazing
Great book. I'm halfway through and I learnt a lot of stuff and cleared my understanding of UNIX/Linux system programming. I've decided to read it to learn about real UNIX programming, system calls, how to implement socket servers, threading and processes in UNIX, signals and other low-level stuff. Although I am not a system UNIX programmer (I use Linux to run Java servers), it is very interesting to read and understand what layers of pretty cool (primarily in performance perspective) stuff are ...more
Kam Yung Soh
Jul 25, 2011 rated it it was amazing
Shelves: computing, reference
If you've ever read 'Advance Programming in the Unix Environment" and wanted something similar for Linux then this is it.

This book covers the Linux System API in wonderful detail, providing examples and tips on how to use the API calls properly.

A must read for anybody who has ever wanted to do systems programming for Linux.
Jan 09, 2019 rated it it was amazing
Shelves: nonfic-topic
This is the one book to have for writing C programs for Linux. Goes into incredible depth on a variety of useful topics, and also discusses some Unix history along the way. If I had to have a gripe, it's that it's not twice as long to also discuss the kernel's internal mechanisms, although that's ably covered by other books.
Jesse Storimer
Jul 22, 2013 rated it it was amazing
This book is very comprehensive and my favourite source of Unix lore. It's written for C programmers, but has useful diagrams and high-level stuff for anybody working with Unix systems.
Sep 21, 2012 rated it it was amazing
Still reading, but wow, what a comprehensive reference.
Moreshwar Datye
Sep 28, 2017 rated it really liked it
Detailed, super-detailed.
Feb 10, 2018 rated it it was amazing
This is an absolutely stellar compilation of knowledge, combining the reusable utility of a reference with historical justification for the idiosyncrasies of various UNIX systems today.

This helped close the loop on a lot of fundamental concepts that I had learned ad hoc through experience but had never "read the manual" on, and as a result clarified a lot of my understanding.

I was able to grok this with a limited knowledge of C (I learned it in university, but never used it professionally).
Nov 25, 2017 rated it it was amazing
This book is the definitive work companion for every developer.
It is an excellent tour through all the features that Linux provides, not limited to processes, networking, I/O, inter-process communication, etc. There's always something to learn from this book.
Apr 10, 2018 rated it it was amazing
One of the best technical books I have ever read.
Duc Tam Nguyen
Mar 16, 2018 rated it it was amazing
Shelves: programming
A wonderful and must read book!
André Santos
Dec 01, 2018 rated it it was amazing
This is by far the best technical book I've ever read. I'll keep it around for a few years as it contains much valuable information.
Ben Kream
Mar 13, 2017 rated it it was ok
Waaaay too much depth and waaay too little emphasis on the important points. This book talks a lot, but doesn't say much.

"Beginning Linux Programming" (Mathew & Stones) is a much better book.
Vasil Kolev
Nov 11, 2017 rated it really liked it
Shelves: tech
Nice book with almost everything you'll need to write system code on Linux, but seems to have something missing.

What was great in W. Richard Stevens' books was not only the breadth, but also the depth of the material - historical references, weird behaviors. Here those aren't that much, and there are too many "go read the manual or that paper on this topic" (it's pretty strange to have POSIX AIO omitted from the book). I understand that the book I'd have liked would've been at least twice the
Mar 21, 2015 rated it it was amazing
Okay, I confess: I have not read this book cover to cover. It's 1,500 or so pages long and it's a book about programming. Sue me.

Still, I have read a lot of it, and over the course of this past quarter at OSU it has been indispensable as a resource and learning tool. There are other UNIX system programming books out there, and some may even be great. This one has to rank in the top five. It's expensive, but it's worth it.
Mar 24, 2016 rated it it was amazing
Shelves: reference
An outstanding book; one of the classics. Extremely dense if read cover to cover, individual sections are highly readable; this is a great book to have both at your desk for reference or at your toilet or bedside for quick reads.
Colin Jones
Dec 30, 2013 rated it it was amazing
Everything you want to know about programming on Linux, from the system calls on up. This took me almost a year to get through, and it was worth it. I'll be revisiting this many times, I'm sure, for the bits on linking, terminals, and sockets, along with many other amazingly detailed chapters.
Nick Black
Just got this colossal octavo from NoStarch Press for review. It looks great!
Oct 09, 2012 rated it it was amazing
The definite Linux programming bible!
Alex Mallet
Jan 15, 2015 rated it it was amazing
Great in-depth explanation of Linux system APIs.
Danh Thanh Nguyen
Oct 17, 2016 rated it it was amazing
This book is massive but it was worth it.
Marcos Santamaria
Feb 05, 2013 rated it it was amazing
Complete Linux and C programming book. It covers the linux architecture in depth
Higazi Z'eagle
Mar 25, 2013 is currently reading it
Great Comprehensive Reference
Jan 19, 2017 rated it it was amazing
Even better than apue
Subhajit Das
rated it really liked it
Dec 09, 2019
rated it it was amazing
Nov 21, 2019
Ben Simmonds
rated it it was amazing
Dec 30, 2015
rated it it was amazing
Feb 27, 2017
Peadar O'Maoileoin
rated it it was amazing
May 11, 2014
rated it it was ok
Dec 16, 2017
« previous 1 3 4 5 6 7 8 9 next »
There are no discussion topics on this book yet. Be the first to start one »

Readers also enjoyed

  • Design Patterns: Elements of Reusable Object-Oriented Software
  • The C Programming Language
  • Pro Git
  • Introduction to Algorithms
  • The Go Programming Language
  • Clean Architecture
  • Computer Systems: A Programmer's Perspective
  • The Manager's Path: A Guide for Tech Leaders Navigating Growth and Change
  • The Clean Coder: A Code of Conduct for Professional Programmers
  • Linux System Programming: Talking Directly to the Kernel and C Library
  • Linux Kernel Development
  • Head First Design Patterns
  • Code Complete
  • Kubernetes in Action
  • مرد رویاها
  • Ansible for DevOps
  • The Pragmatic Programmer: From Journeyman to Master
  • Clean Code: A Handbook of Agile Software Craftsmanship
See similar books…

Goodreads is hiring!

If you like books and love to build cool products, we may be looking for you.
Learn more »
“The sched_setscheduler() system call changes both the scheduling policy and the priority of the process whose process ID is specified in pid. If pid is specified as 0, the attributes of the calling process are changed.” 1 likes
“When a process is rescheduled to run on a multiprocessor system, it doesn’t necessarily run on the same CPU on which it last executed. The usual reason it may run on another CPU is that the original CPU is already busy. When a process changes CPUs, there is a performance impact: in order for a line of the process’s data to be loaded into the cache of the new CPU, it must first be invalidated (i.e., either discarded if it is unmodified, or flushed to main memory if it was modified), if present in the cache of the old CPU. (To prevent cache inconsistencies, multiprocessor architectures allow data to be kept in only one CPU cache at a time.) This invalidation costs execution time. Because of this performance impact, the Linux (2.6) kernel tries to ensure soft CPU affinity for a process — wherever possible, the process is rescheduled to run on the same CPU.” 1 likes
More quotes…