We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Uplift your Linux systems programming skills with systemd and D-Bus

Formale Metadaten

Titel
Uplift your Linux systems programming skills with systemd and D-Bus
Untertitel
Practical examples and best practices on how to leverage systemd and D-Bus in Go
Serientitel
Anzahl der Teile
490
Autor
Lizenz
CC-Namensnennung 2.0 Belgien:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen.
Identifikatoren
Herausgeber
Erscheinungsjahr
Sprache

Inhaltliche Metadaten

Fachgebiet
Genre
Abstract
Systemd is a de-facto standard process manager in all mainstream Linux distributions for almost a decade. D-Bus is most widely used inter-process communication on a local host. It's used in many core apps on Linux Desktop. Yet both systemd and D-Bus are undervalued. Very often, programs that are only intended to run on Linux attempt to re-implement (with bugs) what systemd and D-Bus already provide (for example: watchdog function, reliable process termination, notifying another program about some event, coordination between multiple processes). The goal of this talk is to shift perspective on systemd and D-Bus (using concrete practical examples in Go), and show how basic building block these systems provide can be re-used in software you write for modern Linux system. This is an exploratory talk. Then intent is to look at systemd and D-Bus from a different angle. Most of current tutorials about systemd focused on operating a service like apache, nginx or redis. D-Bus tutorials are very abstract, basic and lack any concrete useful use-cases. I plan to present few recent additions to systemd, such as portable services and resource control. As well as re-introduce few existing concepts, like sd-notify, watchdogs and transient units. On D-Bus I plan to show how to use bus abstraction and few neat features, like passing file descriptors and receiving notifications. The focus is on how to not re-invent things that systemd and D-Bus do much better. Examples are given as a few simple Golang programs, with full source available on github. The indented audience is anyone who write and operate Go code on Linux. Preferred experience of the audience: basic knowledge of Linux and Golang, familiarity with systemd and D-Bus concepts would be useful as well.