Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image
Have one to sell? Sell on Amazon

Linux Application Development (2nd Edition) Hardcover – November 27, 2004

ISBN-13: 078-5342219142 ISBN-10: 0321219147 Edition: 2nd
Buy used
Condition: Used - Very Good Details
In Stock. Sold by svithjodbooks
Condition: Used: Very Good
Comment: 2005, 2nd edition hardcover as shown. Remainder mark on page edge. Minor cover wear. Binding is tight. No writing or highlighting. Text is clean. Nice shape. (HC black)
Access codes and supplements are not guaranteed with used items.
+ $3.99 shipping

Used & new from other sellers Delivery options vary per offer
24 used & new from $0.69
Amazon Price New from Used from
Hardcover, November 27, 2004
"Please retry"
$29.99 $0.69
Free Two-Day Shipping for College Students with Amazon Student Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student

Hero Quick Promo
Save up to 90% on Textbooks
Rent textbooks, buy textbooks, or get up to 80% back when you sell us your books. Shop Now

Editorial Reviews

From Library Journal

Johnson and Troan are Linux developers for Red Hat software, a company that distributes and supports the Linux operating system. This book will appeal to beginning programmers trying to understand how operating systems work in a general way as well as to advanced programmers porting software from UNIX systems to Linux. This book is recommended for large public and all university libraries.
Copyright 1998 Reed Business Information, Inc. --This text refers to an out of print or unavailable edition of this title.

From the Back Cover

"The first edition of this book has always been kept within arm's reach of my desk due to the wonderful explanations of all areas of the Linux userspace API. This second edition greatly overshadows the first one, and will replace it."
--Greg Kroah-Hartman, Linux kernel programmer

Develop Software that Leverages the Full Power of Today's Linux

Linux Application Development, Second Edition, is the definitive reference for Linux programmers at all levels of experience, including C programmers moving from other operating systems. Building on their widely praised first edition, leading Linux programmers Michael Johnson and Erik Troan systematically present the key APIs and techniques you need to create robust, secure, efficient software or to port existing code to Linux.

This book has been fully updated for the Linux 2.6 kernel, GNU C library version 2.3, the latest POSIX standards, and the Single Unix Specification, Issue 6. Its deep coverage of Linux-specific extensions and features helps you take advantage of the full power of contemporary Linux. Along the way, the authors share insights, tips, and tricks for developers working with any recent Linux distribution, and virtually any version of Unix.

Topics include

  • Developing in Linux: understanding the operating system, licensing,
  • and documentation
  • The development environment: compilers, linker and loader, and unique
  • debugging tools
  • System programming: process models, file handling, signal processing, directory operations, and job control
  • Terminals, sockets, timers, virtual consoles, and the Linux console
  • Development libraries: string matching, terminal handling, command-line parsing, authentication, and more
  • Hundreds of downloadable code samples

New to this edition

  • The GNU C library (glibc), underlying standards, and test macros
  • Writing secure Linux programs, system daemons, and utilities
  • Significantly expanded coverage of memory debugging, including Valgrind and mpr
  • Greatly improved coverage of regular expressions
  • IPv6 networking coverage, including new system library interfaces for using IPv6 and IPv4 interchangeably
  • Coverage of strace, ltrace, real-time signals, poll and epoll system calls, popt library improvements, Pluggable Authentication Modules (PAM), qdbm, and much more
  • Improved index and glossary, plus line-numbered code examples


Shop the new tech.book(store)
New! Introducing the tech.book(store), a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry. > Shop now

Product Details

  • Hardcover: 736 pages
  • Publisher: Addison-Wesley Professional; 2 edition (November 27, 2004)
  • Language: English
  • ISBN-10: 0321219147
  • ISBN-13: 978-0321219145
  • Product Dimensions: 7.6 x 1.5 x 9.5 inches
  • Shipping Weight: 3 pounds
  • Average Customer Review: 4.5 out of 5 stars  See all reviews (42 customer reviews)
  • Amazon Best Sellers Rank: #1,729,844 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

4.5 out of 5 stars
Share your thoughts with other customers

Most Helpful Customer Reviews

25 of 27 people found the following review helpful By A Customer on July 3, 1999
Format: Hardcover
This book was written with an easy to read style, and the content is excellent. I'll forgive them for not including anything related to X11 programming, but they mention that their reason was that X Windows programming is not specific to Linux, and this is a *LINUX* programming book. Well fine, but I still have to find a book on X Programming. Imagine a book on Windows NT Programming that skipped all the GUI parts. I guess the Unix crowd is 10 years behind the NT crowd in acceptance of GUIs.
Reading this book made many of the arcane details of Unix architecture make sense, finally. I have read many Linux books, and most are long on technical drivel and short on enlightenment. If you are enlightened, you don't need the drivel, because the technical details are easy to absorbe and remember once they make sense.
This book excels at making sense of Linux. It should have been called "Making Sense of Linux Application Development", because that's what it is. You could probably get a lot out of it, even if you don't know C very well or you aren't all that interested in C programming in Linux. The explanations are clearly presented, and the chapters stand alone, and are a great reference material, as well as interesting general reading for those interested in the internals of Linux.
This book explains a lot of services that the kernel provides, especially in regards to the Linux process model and unix filesystems, as well as interprocess communications (Unix domain sockets) and network programming (TCP/IP sockets).
CAVEAT: This shouldn't be your *first* Linux book. There's a lot of material besides the writing of the code that you need to cover first. To get you comfy in the classic Unix shell environment read Hands On Unix, by Mark Sobell.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
13 of 13 people found the following review helpful By A Customer on October 12, 1999
Format: Hardcover
Is a usefull book once you download the list of typo's in the book(from their all but hidden under a rock website). It was very troublesome to find so many things that did not work. A few needed help even after you made the recommended corrections. Already being a c programmer I was able to figure things out and get basically everything to work just fine with a little hacking, but a newbie might throw his computer out of the window in frustration. Lots of books have had typo's lately. I always get the phone call from a worried friend wondering what they are doing wrong only to find out that it was a simple mistake of the program never being tested before being printed in the book. Oh well, it's in a few of the newer O'Reily's even. It's just a shame, i'm glad I learned how to code back in the dark ages when books were tested before they were shipped.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
35 of 41 people found the following review helpful By JK on July 13, 2000
Format: Hardcover Verified Purchase
Unless you want a full documentation on the history and licensing of Linux, don't bother with this book. All the "application development" sections are nothing but lists. They are vast lists, but there are no explainations with them (I mean to the point that he drops function names without telling you even so much as their signature.) It seems as though the author knows what function calls and macros are available in the Linux API but has no idea what they do, and therefore neither will you. The only reason I give this book two stars is for its GNU section (but you can buy "Programming with GNU Software" for that). You are much better off with "Advanced Programming in a UNIX Environment" or, for a beginner, "Beginning Linux Programming". As a final thought, I really wish that someone could write a book on Linux that could parallel Stevens' UNIX book.
1 Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
10 of 10 people found the following review helpful By R. Lodato on February 14, 2005
Format: Hardcover
The Linux operating system provides a sophisticated framework for running programs. Within its sturdy covers, Linux Application Development by Michael K. Johnson and Erik W. Troan provides much of what intermediate to advanced programmers need to know to take advantage of that framework.

The book is divided into four major parts: Getting Started, Development Tools and Environment, System Programming and Development Libraries.

Part 1 - Getting Started, is a very high-level overview of Linux itself. The three chapters cover barely 20 pages, and discuss the history of Linux, its licensing, and the online documentation.

Part 2 - Development Tools and Environment gets more detailed, but ends up as a medium-level view of what tools you might use to actually create and debug your application. Six chapters covering about 75 pages discuss editors (Emacs and vi), make, the GNU debugger gdb, tracing, gcc options, glibc, memory debugging tools, libraries, and the environment. Each chapter feels a little light-weight except for the one on memory debugging tools.

If the first two parts seemed to just skim the surface somewhat, Part 3 - System Programming definitely dives into the deep end of the pool. Part 3 has 13 chapters and covers 450 pages, almost two-thirds of the total book. My major complaint with Part 3 is that related chapters appear to be separated by others. Five major groups of functionality are covered.

The Unix/Linux process model is explained in detail in Chapter 10, and should be followed by chapter 15, which goes into job control. File handling is introduced in chapter 11, expanded in chapter 13, and directory handling is covered in chapter 14.
Read more ›
1 Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Most Recent Customer Reviews