diff --git a/Userland/Libraries/LibCore/System.cpp b/Userland/Libraries/LibCore/System.cpp index bcac0946b4..5092437c85 100644 --- a/Userland/Libraries/LibCore/System.cpp +++ b/Userland/Libraries/LibCore/System.cpp @@ -422,6 +422,13 @@ ErrorOr kill(pid_t pid, int signal) return {}; } +ErrorOr killpg(int pgrp, int signal) +{ + if (::killpg(pgrp, signal) < 0) + return Error::from_syscall("killpg"sv, -errno); + return {}; +} + ErrorOr dup(int source_fd) { int fd = ::dup(source_fd); diff --git a/Userland/Libraries/LibCore/System.h b/Userland/Libraries/LibCore/System.h index 9dcc50877c..b61bcc7626 100644 --- a/Userland/Libraries/LibCore/System.h +++ b/Userland/Libraries/LibCore/System.h @@ -76,6 +76,7 @@ ErrorOr lstat(StringView path); ErrorOr read(int fd, Bytes buffer); ErrorOr write(int fd, ReadonlyBytes buffer); ErrorOr kill(pid_t, int signal); +ErrorOr killpg(int pgrp, int signal); ErrorOr dup(int source_fd); ErrorOr dup2(int source_fd, int destination_fd); ErrorOr ptsname(int fd);