GNU/Linux Application Programming takes a holistic approach to teaching developers GNU/Linux programming using APIs, tools, communication, and scripting. Covering a wide range of topics related to GNU/Linux application programming, the book is split into five parts: The GNU/Linux Operating System; GNU Tools; Processes; Communication; and Coordination; Shells and Scripting; and Debugging. Application and tool developers are introduced to the most useful aspects of the GNU/Linux operating system, including tools, standard libraries, communication and synchronization APIs, process and thread models, shell scripting and extension languages, and debugging.