Book · 2010
The Linux Programming Interface
by Michael Kerrisk
A process calls fork(), a child boots into exec(), and roughly 1500 pages explain exactly what the kernel just did underneath both calls.
What does Reddit think of The Linux Programming Interface?
Small numbers here, and the excerpts read more like syllabus notes than reviews. An r/devops comment frames the recommendation conditionally: fine with command-line Linux, this is what you need only if the job actually demands kernel-level understanding of IO, memory, networking, and filesystems. r/ExperiencedDevs treats fork/exec and raw syscalls as the payoff, one commenter calling the moment those concepts click a real divide between developers. r/compsci answers the obvious gatekeeping question directly, pointing to the book's own FAQ: a reading knowledge of C is the actual prerequisite, nothing more exotic required. The closest thing to a rival shows up in a separate comment recommending Stevens' Advanced Programming in the Unix Environment instead, without engaging this book's specific claims. Twelve distinct account identifiers across five years, mostly in technical subreddits. This isn't a book with a fanbase. It's a book people cite when someone asks a specific systems-programming question.
Community feedback & reader fit
Themes
- · Conditional recommendation, not universal
- · fork/exec and syscalls as the payoff
- · C reading knowledge is the real bar
- · Stevens' APUE as the rival citation
Common praise
- + An r/devops commenter recommends it specifically for jobs that need real kernel-level Linux understanding, not just command-line skills.
- + r/ExperiencedDevs credits the fork/exec and syscall material with a genuine 'it just clicked' moment.
- + r/compsci settles the prerequisite question by linking straight to the book's own FAQ instead of guessing.
Common criticism
- − A separate r/ExperiencedDevs comment recommends Stevens' Advanced Programming in the Unix Environment instead, without addressing this book directly.
- − The mention count stays in the single-to-low-double digits across five years, so there isn't much argument to draw from.
- − Nobody in the displayed excerpts pushes back on it directly; the closest thing to friction is a competing book getting cited instead.
Who it's for
Ask what your job actually requires, not what your resume says it does. The r/devops comment splits it cleanly: command-line comfort doesn't need this, kernel-level questions about IO, memory, and filesystems do. Coming from higher-level languages and wondering what's underneath fork() and exec()? r/ExperiencedDevs points here for exactly that. Comfortable only reading C, not writing esoteric C? That's the stated bar per r/compsci's link to the book's own FAQ. Systems programmers who already own Stevens' APUE might treat this as a second opinion rather than a first purchase.
Mentions over time
Top subreddits
Which Reddit comments matter for The Linux Programming Interface?
The most relevant excerpts across the subreddits where this book is mentioned — opinionated, argued takes first, then top-upvoted mentions. Click through to read the full thread.
“How processes work (fork/exec, io, pipes, proc, etc). It took a while for it to really click. It's one of those things that divides developers into two camps I'll also throw really basic syscalls in here. Like learning the flags to open and read. Even just learning them once can be eyeopening. I sh…
“1. How "good Linux knowledge" is defined? If it's good with hands-on command line knowledge, that's one thing, but if the company requires real deep understanding of Linux kernel, how does it work with IO, memory, network, filesystems, users, I can definitely recommend "Linux Programming Interfaces"…
“Learning C is about getting to know the machine, OS at a deeper level. It is about how the execution environment, networking, etc have been modeled? Once you know those things, learning higher level stuff becomes easier. A lot of people, like myself, get hung up on the abstractions being used at th…
“I can't speak to the book you're talking about (I assume you mean this one). But, if you want to learn both the theory and the practice of Unix systems programming, from assembly language to memory management (including how to implement your own version of `mall…
“One benefit of being a linux kernel developer is that your code will be used by many people. There is personal satisfaction in such having contributed in such a way. ​ On a more direct level, being a linux kernel developer will mean you most likely understand how the linux programming inter…
“Looks like it has an answer here::-) >What prerequisite knowledge do I need to read TLPI? > The following will suffice: > A reading knowledge of C (or C++). I tend to avoid esoteric features of C in my code examples, so it is not nece…
“books are great. read outside of your skillset too. look for the ones with implementation details over the purely theoretical. most importantly try to implement the ideas you encounter, use docker to load up system components locally etc. *software application design:* evolutionary architecture …
“From a programmer’s perspective, the books from W. Richard Stevens are great. “Advanced Programming in the Unix Environment” covers traditional Unix systems programming, extending to networking. “Unix …
“Attend a prestigious university that has connections with Microsoft/Apple/Google and do everything you can to build connections at the relevant departments of these companies. Alternatively. Take the dirtbag Linux route. It's all there and available for you. No Ivy League Tuition fees or family tie…
“I’d like to pass at least 3 certification exams (1. Google Professional Cloud DevOps Engineer 2. AZ-305 3. CCNA 200-301), work through the book “The Linux Programming Interface”, get in-depth knowledge of Linux, finish the infrastructure part of my hobby project and get better at C++ and Go.
“Don't worry, you're not the only masters degree without knowledge of environment variables. In fact, I hear this so often that it surprises me that it's not included somewhere in the curriculum. My references and explanations are Linux-focused though the concepts, not necessarily the names, remain t…
“When I started at a FAANG in 2016, they sent me the Linux Programming Interface, Programming Pearls, and The Unix Philosophy, both in paper and with a Kindle as well.
Convinced? Pick up The Linux Programming Interface
What else does r/ExperiencedDevs read?
Other books mentioned in the same sub, ranked. Shared-sub overlap with this title breaks ties.
The Linux Programming Interface — frequently asked
Is The Linux Programming Interface still worth reading in 2026?+
The Reddit data doesn't argue against it, but it doesn't argue hard for it either, only 16 mentions across five years. What's there is specific: an r/devops comment recommends it by name for anyone whose job requires real kernel-level Linux knowledge rather than command-line familiarity.
Who is The Linux Programming Interface for?+
Depends on the job, according to the one displayed excerpt that draws the line. An r/devops commenter separates 'good with hands-on command line' from needing 'real deep understanding of Linux kernel' with IO, memory, network, and filesystems, and recommends this book for the second group specifically.
What do I need to know before reading The Linux Programming Interface?+
Just a reading knowledge of C, according to an r/compsci comment that links directly to the book's own FAQ page rather than guessing. The commenter notes the author avoids esoteric C features in the examples, so fluency isn't the bar, comprehension is.
Is The Linux Programming Interface better than Stevens' Advanced Programming in the Unix Environment?+
Unclear from the displayed data. A separate r/ExperiencedDevs comment recommends Stevens' APUE and Unix Network Programming as its own strong pick, but doesn't compare it against this book directly, so the two read as parallel recommendations rather than a settled ranking.