X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=man%2Fsd_pid_get_session.xml;h=933138da16e90f796870ade5a81d429299ee482b;hb=dc1d6c02fcf55bb7dac918d0ed3bd3e2a3d67525;hp=7897a2cd3ea761540b9bc7d89b138cee2f2d23f3;hpb=cb07866b1b7c11e687a322d70dd9f9d73bbbe488;p=elogind.git
diff --git a/man/sd_pid_get_session.xml b/man/sd_pid_get_session.xml
index 7897a2cd3..933138da1 100644
--- a/man/sd_pid_get_session.xml
+++ b/man/sd_pid_get_session.xml
@@ -21,7 +21,7 @@
along with systemd; If not, see .
-->
-
+
sd_pid_get_session
@@ -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
@@ -91,18 +156,28 @@
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
+ 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 paramater 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,8 @@
systemd1,
sd-login3,
sd_session_is_active3,
- getsid2
+ getsid2,
+ systemd.slice5