login: introduce sd_pid_get_service()

This commit is contained in:
Lennart Poettering
2012-01-03 21:08:58 +01:00
parent b72491a2fd
commit 9847946e12
5 changed files with 71 additions and 13 deletions
+30 -10
View File
@@ -44,8 +44,9 @@
<refnamediv>
<refname>sd_pid_get_session</refname>
<refname>sd_pid_get_service</refname>
<refname>sd_pid_get_owner_uid</refname>
<refpurpose>Determine session or owner of a session of a specific PID</refpurpose>
<refpurpose>Determine session, service or owner of a session of a specific PID</refpurpose>
</refnamediv>
<refsynopsisdiv>
@@ -58,6 +59,12 @@
<paramdef>char** <parameter>session</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>int <function>sd_pid_get_service</function></funcdef>
<paramdef>pid_t <parameter>pid</parameter></paramdef>
<paramdef>char** <parameter>service</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>int <function>sd_pid_get_owner_uid</function></funcdef>
<paramdef>pid_t <parameter>pid</parameter></paramdef>
@@ -75,11 +82,23 @@
identifier. The session identifier is a short string,
suitable for usage in file system paths. Note that not
all processes are part of a login session (e.g. system
service processes and user processes that are shared
between multiple sessions of the same user). For
processes not being part of a login session this
function will fail. The returned string needs to be
freed with the libc
service processes, user processes that are shared
between multiple sessions of the same user, or kernel
threads). For processes not being part of a login
session this function will fail. The returned string
needs to be freed with the libc
<citerefentry><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
call after use.</para>
<para><function>sd_pid_get_service()</function> may be
used to determine the system service identifier of a
process identified by the specified process
identifier. The service name is a short string,
suitable for usage in file system paths. Note that not
all processes are part of a service (e.g. user
processes, or kernel threads). For processes not being
part of a system service this function will fail. The
returned string needs to be freed with the libc
<citerefentry><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
call after use.</para>
@@ -106,10 +125,11 @@
<refsect1>
<title>Notes</title>
<para>The <function>sd_pid_get_session()</function>
and <function>sd_pid_get_owner_uid()</function>
interfaces are available as shared library, which can
be compiled and linked to with the
<para>The <function>sd_pid_get_session()</function>,
<function>sd_pid_get_service()</function>, and
<function>sd_pid_get_owner_uid()</function> interfaces
are available as shared library, which can be compiled
and linked to with the
<literal>libsystemd-login</literal>
<citerefentry><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry>
file.</para>