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=4b796034532c8fbcf4a5b50da5580e96a9f8bf6f;hp=4086c5a826e270c0a028dc0c4037a3b4b7fd2d84;hb=edf2573743b25273bee020230a60f1a054b8ec60;hpb=9847946e12479b27d3ebfd024f00a6ac33ce73d3 diff --git a/man/sd_pid_get_session.xml b/man/sd_pid_get_session.xml index 4086c5a82..4b7960345 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,9 +44,20 @@ sd_pid_get_session - sd_pid_get_service + 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_service + int sd_pid_get_unit pid_t pid - char** service + 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,21 +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_service() 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, + 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 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 - free3 + 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 @@ -112,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. @@ -126,12 +233,20 @@ Notes The sd_pid_get_session(), - sd_pid_get_service(), 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 @@ -146,9 +261,10 @@ systemd1, - sd-login7, + sd-login3, sd_session_is_active3, - getsid2 + getsid2, + systemd.slice5