The Linux Programming Interface

The Linux Programming Interface

4.59 (340 ratings by Goodreads)
By (author) 

Free delivery worldwide

Available. Dispatched from the UK in 1 business day
When will my order arrive?

Not expected to be delivered to the United States by Christmas Not expected to be delivered to the United States by Christmas


The Linux Programming Interface (TLPI) 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 more

Product details

  • Hardback | 1552 pages
  • 198.12 x 266.7 x 68.58mm | 2,290.63g
  • No Starch Press,US
  • San Francisco, United States
  • English
  • black & white tables, figures
  • 1593272200
  • 9781593272203
  • 84,553

About Michael Kerrisk

Michael Kerrisk has been using and programming UNIX systems for more than 20 years, and has taught many week-long courses on UNIX system programming. Since 2004, he has maintained the man-pages project (http: //, which produces the manual pages describing the Linux kernel and glibc programming APIs. He has written or co-written more than 250 of the manual pages and is actively involved in the testing and design review of new Linux kernel-userspace interfaces. Michael lives with his family in Munich, more

Table of contents

Preface Chapter 1: History and Standards Chapter 2: Fundamental Concepts Chapter 3: System Programming Concepts Chapter 4: File I/O: The Universal I/O Model Chapter 5: File I/O: Further Details Chapter 6: Processes Chapter 7: Memory Allocation Chapter 8: Users and Groups Chapter 9: Process Credentials Chapter 10: Time Chapter 11: System Limits and Options Chapter 12: System and Process Information Chapter 13: File I/O Buffering Chapter 14: File Systems Chapter 15: File Attributes Chapter 16: Extended Attributes Chapter 17: Access Control Lists Chapter 18: Directories and Links Chapter 19: Monitoring File Events Chapter 20: Signals: Fundamental Concepts Chapter 21: Signals: Signal Handlers Chapter 22: Signals: Advanced Features Chapter 23: Timers and Sleeping Chapter 24: Process Creation Chapter 25: Process Termination Chapter 26: Monitoring Child Processes Chapter 27: Program Execution Chapter 28: Process Creation and Program Execution in More Detail Chapter 29: Threads: Introduction Chapter 30: Threads: Thread Synchronization Chapter 31: Threads: Thread Safety and Per-Thread Storage Chapter 32: Threads: Thread Cancellation Chapter 33: Threads: Further Details Chapter 34: Process Groups, Sessions, and Job Control Chapter 35: Process Priorities and Scheduling Chapter 36: Process Resources Chapter 37: Daemons Chapter 38: Writing Secure Privileged Programs Chapter 39: Capabilities Chapter 40: Login Accounting Chapter 41: Fundamentals of Shared Libraries Chapter 42: Advanced Features of Shared Libraries Chapter 43: Interprocess Communication Overview Chapter 44: Pipes and FIFOs Chapter 45: Introduction to System V IPC Chapter 46: System V Message Queues Chapter 47: System V Semaphores Chapter 48: System V Shared Memory Chapter 49: Memory Mappings Chapter 50: Virtual Memory Operations Chapter 51: Introduction to POSIX IPC Chapter 52: POSIX Message Queues Chapter 53: POSIX Semaphores Chapter 54: POSIX Shared Memory Chapter 55: File Locking Chapter 56: Sockets: Introduction Chapter 57: Sockets: UNIX Domain Chapter 58: Sockets: Fundamentals of TCP/IP Networks Chapter 59: Sockets: Internet Domains Chapter 60: Sockets: Server Design Chapter 61: Sockets: Advanced Topics Chapter 62: Terminals Chapter 63: Alternative I/O Models Chapter 64: Pseudoterminals Appendix A: Tracing System Calls Appendix B: Parsing Command-Line Options Appendix C: Casting the NULL Pointer Appendix D: Kernel Configuration Appendix E: Further Sources of Information Appendix F: Solutions to Selected Exercisesshow more

Rating details

340 ratings
4.59 out of 5 stars
5 71% (242)
4 20% (67)
3 7% (24)
2 1% (5)
1 1% (2)
Book ratings by Goodreads
Goodreads is the world's largest site for readers with over 50 million reviews. We're featuring millions of their reader ratings on our book pages to help you find your new favourite book. Close X