Linux/UNIX IPC Programming Training

Course code: M7D-IPC02

PDF icon Download Linux/UNIX IPC Programming course description (PDF)

Course overview

This three-day course provides a thorough introduction to the interprocess (IPC) techniques that Linux and UNIX systems provide for use by user-space programs. Using these features allows the creation of complex multiprocess applications that coordinate their actions and exchange information with each other. Detailed presentations coupled with many carefully designed practical exercises provide participants with the knowledge to write such applications. The course dives into some specifics of the Linux system, but makes careful and frequent reference to the POSIX standard, so that it is also valuable to developers working on other UNIX systems.

Related courses

Note that this course is similar to the 3-day Linux/UNIX Threads and IPC Programming (M7D-TIPC01) course (and, by extension, it is similar to the final three days of the Linux/UNIX System Programming course (M7D-LUSP01)), but omits POSIX threads while adding some additional IPC topics.

Course details

Course outline.

The course employs a lecture+lab format.

Audience and prerequisites

The audience for this course is in practice rather diverse, and includes:

In order to get the most out of the course, participants should have:

It is presumed that attendees will have a working knowledge of the topics covered in the course Linux/UNIX System Programming Fundamentals (M7D-SPINTRO01). In particular, participants should have a good understanding of concepts such as: file I/O using system calls, process lifecycle (fork(), exec(), wait()), and signals.

Lab sessions

A significant part of the course is spent on practical exercises. The lab sessions also provide participants with the opportunity to obtain one-to-one assistance from the trainer on the course material and exercises.

Course materials

Course participants receive course books of around 250 pages. The course books include all of the slides and exercises presented in the course. Some notable features of the course book are the following: TLPI front cover (small)

In addition to the course book, participants receive a copy of The Linux Programming Interface, in ebook form.

The following samples give some idea of the course content and style of the course materials:

Onsite and virtual onsite courses

For onsite and virtual onsite courses, please email regarding availability and pricing.

Public courses: upcoming dates, prices, and booking

Date Location Maximum participants
To be announced Online 14 Registration

Online courses in Europe timezones are normally timed around Berlin time, starting at 08:00, 08:30, or 09:00. Online courses in Americas timezones are normally timed around New York time, starting at 09:00 or 10:00. Depending on the length of breaks, classes typically run for 8 to 8.5 hours per day.

For public online courses, the per-attendee price is €1900 reduced to €1800 when booked (and either paid or a company purchase order is supplied) at least 4 weeks before the start of the course. (In addition, 19% German VAT is charged for participants attending from German locations; 19% German VAT is also applicable for private attendees in any location in the European Union without a VAT ID.)

Currently (and for the foreseeable future), public versions of this course are delivered only in online format.

Discounts are available for multiple attendees from the same company or organization; please inquire at for details.

About the trainer

Michael Kerrisk has a unique set of qualifications and experience that ensure that course participants receive training of a very high standard: Michael Kerrisk

For more information about the trainer, as well as many reasons why you might want to consider choosing training courses, please see reasons to choose training,


For further inquiries about the course, please get in contact via one of the following methods:

Mailing list

If you would like to be added to a mailing list to receive notifications of public training courses that are scheduled in the future, send a mail (noting your location) to Likely future locations are Europe and USA West Coast, but other locations may also be possible, especially if they can be scheduled to coincide with an interesting conference.