X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=man%2Fsd_pid_get_session.xml;h=050f701da3ee0c40400a72ec878889d5149d5ac4;hb=68c913fd751f5c750e3c786b4ed512154b354599;hp=511fcf3eded7faefb66d78936899ac58f5e9a01e;hpb=56ba3c78ae35065064c4289a0c8e22a81256af20;p=elogind.git
diff --git a/man/sd_pid_get_session.xml b/man/sd_pid_get_session.xml
index 511fcf3ed..050f701da 100644
--- a/man/sd_pid_get_session.xml
+++ b/man/sd_pid_get_session.xml
@@ -45,8 +45,19 @@
sd_pid_get_session
sd_pid_get_unit
+ sd_pid_get_user_unit
sd_pid_get_owner_uid
- Determine session, service or owner of a session of a specific PID
+ sd_pid_get_machine_name
+ sd_pid_get_slice
+ sd_peer_get_session
+ sd_peer_get_unit
+ sd_peer_get_user_unit
+ sd_peer_get_owner_uid
+ sd_peer_get_machine_name
+ sd_peer_get_slice
+ Determine session, service, owner of a
+ session, container/VM or slice of a specific
+ PID or socket peer
@@ -56,19 +67,73 @@
int sd_pid_get_session
pid_t pid
- char** session
+ char **session
int sd_pid_get_unit
pid_t pid
- char** unit
+ char **unit
+
+
+
+ int sd_pid_get_user_unit
+ pid_t pid
+ char **unit
int sd_pid_get_owner_uid
pid_t pid
- uid_t* uid
+ uid_t *uid
+
+
+
+ int sd_pid_get_machine_name
+ pid_t pid
+ char **name
+
+
+
+ int sd_pid_get_slice
+ pid_t pid
+ char **slice
+
+
+
+ int sd_peer_get_session
+ int fd
+ char **session
+
+
+
+ int sd_peer_get_unit
+ int fd
+ char **unit
+
+
+
+ int sd_peer_get_user_unit
+ int fd
+ char **unit
+
+
+
+ int sd_peer_get_owner_uid
+ int fd
+ uid_t *uid
+
+
+
+ int sd_peer_get_machine_name
+ int fd
+ char **name
+
+
+
+ int sd_peer_get_slice
+ int fd
+ char **slice
@@ -87,22 +152,32 @@
threads). For processes not being part of a login
session this function will fail. The returned string
needs to be freed with the libc
- free3
+ free3
call after use.
sd_pid_get_unit() may be
- used to determine the systemd unit (i.e. system
+ used to determine the systemd system unit (i.e. system
service) identifier of a process identified by the
- specified process identifier. The unit name is a short
- string, suitable for usage in file system paths. Note
- that not all processes are part of a unit/service
+ specified PID. The unit name is a short string,
+ suitable for usage in file system paths. Note that not
+ all processes are part of a system unit/service
(e.g. user processes, or kernel threads). For
- processes not being part of a systemd unit/system
- service this function will fail. The returned string
- needs to be freed with the libc
- free3
+ processes not being part of a systemd system unit this
+ function will fail. (More specifically: this call will
+ not work for processes that are part of user units,
+ use sd_pid_get_user_unit() for
+ that.) The returned string needs to be freed with the
+ libc
+ free3
call after use.
+ sd_pid_get_user_unit() may
+ be used to determine the systemd user unit (i.e. user
+ service) identifier of a process identified by the
+ specified PID. This is similar to
+ sd_pid_get_unit() but applies to
+ user units instead of system units.
+
sd_pid_get_owner_uid() may
be used to determine the Unix user identifier of the
owner of the session of a process identified the
@@ -114,15 +189,42 @@
and not being a shared process of a user this function
will fail.
- If the pid parameter of any
- of these functions is passed as 0 the operation is
+ sd_pid_get_machine_name()
+ may be used to determine the name of the VM or
+ container is a member of. The machine name is a short
+ string, suitable for usage in file system paths. The
+ returned string needs to be freed with the libc
+ free3
+ call after use.
+
+ sd_pid_get_slice() may be
+ used to determine the slice unit the process is a
+ member of. See
+ systemd.slice5
+ for details about slices. The returned string needs to
+ be freed with the libc
+ free3
+ call after use.
+
+ If the pid parameter of any
+ of these functions is passed as 0, the operation is
executed for the calling process.
+
+ The sd_peer_get_session(),
+ sd_peer_get_unit(),
+ sd_peer_get_user_unit(),
+ sd_peer_get_owner_uid(),
+ sd_peer_get_machine_name() and
+ sd_peer_get_slice() calls operate
+ similar to their PID counterparts, but operate on a
+ connected AF_UNIX socket and retrieve information
+ about the connected peer process.
Return Value
- On success these calls return 0 or a positive
+ On success, these calls return 0 or a positive
integer. On failure, these calls return a negative
errno-style error code.
@@ -131,12 +233,20 @@
Notes
The sd_pid_get_session(),
- sd_pid_get_pid(), and
- sd_pid_get_owner_uid() interfaces
- are available as shared library, which can be compiled
+ sd_pid_get_unit(),
+ sd_pid_get_user_unit(),
+ sd_pid_get_owner_uid(),
+ sd_pid_get_machine_name(),
+ sd_pid_get_slice(),
+ sd_peer_get_session(),
+ sd_peer_get_unit(),
+ sd_peer_get_user_unit(),
+ sd_peer_get_owner_uid(),
+ sd_peer_get_machine_name() and
+ sd_peer_get_slice() interfaces are
+ available as a shared library, which can be compiled
and linked to with the
- libsystemd-login
- pkg-config1
+ libsystemd pkg-config1
file.
Note that the login session identifier as
@@ -153,7 +263,9 @@
systemd1,
sd-login3,
sd_session_is_active3,
- getsid2
+ getsid2,
+ systemd.slice5,
+ systemd-machined.service8