util: introduce virProcessGroupGet

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
Ján Tomko 2021-08-03 14:31:34 +02:00
parent fc180c741f
commit 4b39c2aa2e
3 changed files with 19 additions and 0 deletions

View File

@ -3070,6 +3070,7 @@ virProcessGetMaxMemLock;
virProcessGetNamespaces;
virProcessGetPids;
virProcessGetStartTime;
virProcessGroupGet;
virProcessGroupKill;
virProcessKill;
virProcessKillPainfully;

View File

@ -378,6 +378,23 @@ int virProcessGroupKill(pid_t pid, int sig G_GNUC_UNUSED)
}
/* get process group from a pid */
pid_t virProcessGroupGet(pid_t pid)
{
if (pid <= 1) {
errno = ESRCH;
return -1;
}
#ifdef WIN32
errno = ENOSYS;
return -1;
#else
return getpgid(pid);
#endif
}
/*
* Try to kill the process and verify it has exited
*

View File

@ -53,6 +53,7 @@ virProcessWait(pid_t pid, int *exitstatus, bool raw)
int virProcessKill(pid_t pid, int sig);
int virProcessGroupKill(pid_t pid, int sig);
pid_t virProcessGroupGet(pid_t pid);
int virProcessKillPainfully(pid_t pid, bool force);
int virProcessKillPainfullyDelay(pid_t pid,