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

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

  • Downloads:7268
  • Type:Epub+TxT+PDF+Mobi
  • Create Date:2021-03-13 03:19:44
  • Update Date:2025-09-06
  • Status:finish
  • Author:Michael Kerrisk
  • ISBN:1593272200
  • Environment:PC/Android/iPhone/iPad/Kindle

Summary

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 epollinotify, 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

Download

Reviews

Marc Blok

Great book with so much to learn。 Because of the time that it would take I could not try everything described in the book but that not the problem of the book。 Maybe the book would be better to when there are more real-life examples added。 And some more info regarding the *BSD systems。

John Doe

Exactly what I need :)Interesting parts: Chpt 2。 Fundamental conceptsChpt 8。 Users and groupsChpt 9。 Process credentialsChpt 17。 Access control listsChpt 18。 Directories and linksChpt 27。 Program executionChpt 37。 DaemonsChpt 38。 Writing secure privileged programsChpt 39。 CapabilitiesChpt 40。 Login accountingChpt 56-61。 SocketsA。 Tracing system callsB。 Parsing command-line optionsC。 Casting the NULL PointerE。 Further sources of information

Marco Buttu

Non lo ho letto dall'inizio alla fine, lo uso prevalentemente come guida di riferimento。 É il miglior libro di programmazione che conosca: esaustivo e allo stesso tempo conciso, chiaro e scorrevole。 L'autore ha realizzato un'opera eccezionale。 Non lo ho letto dall'inizio alla fine, lo uso prevalentemente come guida di riferimento。 É il miglior libro di programmazione che conosca: esaustivo e allo stesso tempo conciso, chiaro e scorrevole。 L'autore ha realizzato un'opera eccezionale。 。。。more

Ken

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。 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。 。。。more

André Santos

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。 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。 。。。more

Mayank

One of the best technical books I have ever read。

Duc Tam Nguyen

A wonderful and must read book!

Shane

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)。 Kerr 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)。 Kerrisk does an excellent job of walking you through the concepts despite such knowledge however。 The example C programs add additional clarity。If you do any sort of development work on UNIX systems, this book is a must if you want to really understand what is going on。 I now feel much more comfortable diving into code for tools like SSH or Bash, where in the past these would have been relatively inaccessible given the conceptual understanding I was lacking。 。。。more

Felipe

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。 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。 。。。more

Vasil Kolev

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 si 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 size of this one, but still :) 。。。more

Ananth Gouri

A killer book to learn in depth LPI。。 But you need a basic start of Linux / UNIX and also some knowledge of Unix Systems Programming - Books written by authors like Richard Stevens, Stephen A Rago would be an added advantage。

Ben Kream

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。 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。 。。。more

Chao

Even better than apue

Danh Thanh Nguyen

This book is massive but it was worth it。

Matt

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。

Dmitry

Great coverage

Erik

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。 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。 。。。more

Alex Mallet

Great in-depth explanation of Linux system APIs。

Gary Boland

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!

Colin Jones

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。 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。 。。。more

Jesse Storimer

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。 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。 。。。more

Higazi Z'eagle

Great Comprehensive Reference

Marcos Santamaria

Complete Linux and C programming book。 It covers the linux architecture in depth

Thanhdk

The definite Linux programming bible!

Laust

Still reading, but wow, what a comprehensive reference。

Anton

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 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 buried under the depths of abstractions JVM/Java and other languages, servers, libraries hide。 Even something trivial like fopen/fread/fwrite are pretty complex and abstract from system calls point of view。 。。。more

Kam Yung Soh

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。 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。 。。。more

Nick Black

Just got this colossal octavo from NoStarch Press for review。 It looks great!