X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=man%2Fsd_pid_get_session.xml;h=050f701da3ee0c40400a72ec878889d5149d5ac4;hp=9176433c3dee737edb1ed3924eeccda81fb719b6;hb=dfd1520d3ab98cfa376f2d84ed1e7887d013720d;hpb=0b3b020a178cf3b957fed627de13c895773995ec diff --git a/man/sd_pid_get_session.xml b/man/sd_pid_get_session.xml index 9176433c3..050f701da 100644 --- a/man/sd_pid_get_session.xml +++ b/man/sd_pid_get_session.xml @@ -8,20 +8,20 @@ Copyright 2010 Lennart Poettering systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or + under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. systemd is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. + Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with systemd; If not, see . --> - + sd_pid_get_session @@ -44,8 +44,20 @@ sd_pid_get_session + sd_pid_get_unit + sd_pid_get_user_unit sd_pid_get_owner_uid - Determine session 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 @@ -55,13 +67,73 @@ int sd_pid_get_session pid_t pid - char** session + char **session + + + + int sd_pid_get_unit + pid_t pid + 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 @@ -71,19 +143,41 @@ sd_pid_get_session() may be used to determine the login session identifier of a - process identified by the specified process identifier. The session - identifier is a short string (up to 64 characters), - consisting only of the characters a-zA-Z0-9 as well as - '-' and '_'. It is 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 - free3 + process identified by the specified process + 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, 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 + free3 + call after use. + + sd_pid_get_unit() may be + used to determine the systemd system unit (i.e. system + service) identifier of a process identified by the + 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 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 @@ -94,12 +188,43 @@ fail. For processes not being part of a login session and not being a shared process of a user this function will fail. + + 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. @@ -107,12 +232,21 @@ Notes - The sd_pid_get_session() - and sd_pid_get_owner_uid() - interfaces are available as shared library, which can - be compiled and linked to with the - libsystemd-login - pkg-config1 + The sd_pid_get_session(), + 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 pkg-config1 file. Note that the login session identifier as @@ -127,9 +261,11 @@ systemd1, - sd-login7, + sd-login3, sd_session_is_active3, - getsid2 + getsid2, + systemd.slice5, + systemd-machined.service8