On Thu, 21.06.12 16:40, Eelco Dolstra (eelco.dols...@logicblox.com) wrote: > As described in > > https://bugs.freedesktop.org/show_bug.cgi?id=50184 > > the journal currently doesn't set fields such as _SYSTEMD_UNIT > properly for messages coming from processes that have already > terminated. This means among other things that "systemctl status" may > not show some of the output of services that wrote messages just > before they exited. > > This patch fixes this by having processes that log to the journal > write their unit identifier to journald when the connection to > /run/systemd/journal/stdout is opened. Journald stores the unit ID > and uses it to fill in _SYSTEMD_UNIT when it cannot be obtained > normally (i.e. from the cgroup). To prevent impersonating another > unit, this information is only used when the caller is root. > > This doesn't fix the general problem of getting metadata about > messages from terminated processes (which requires some kernel > support), but it allows "systemctl status" and similar queries to do > the Right Thing for units that log via stdout/stderr.
In the long run we should get the kernel fixed to provide us with something like SCM_CGROUPS, SCM_PROCINFO, SCM_AUDIT and so on to send over cgroup membership data, comm/exec/argv[] and audit data. However, I have merged this now, since the unit name is special enough to get special treatment. Also we can drop this later again since it is an internal protocol. Thanks! Lennart -- Lennart Poettering - Red Hat, Inc. _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel