summaryrefslogtreecommitdiff
path: root/pkg/process
Commit message (Collapse)AuthorAgeFilesLines
* pkg/system: remove deprecated IsProcessAlive, IsProcessZombie, KillProcessSebastiaan van Stijn2023-05-061-7/+0
| | | | | | | These were deprecated in 9d5e754caad0af212545b352e19c3085d8df3281, which is part of the v24.0.0 release, so we can remove it from master. Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
* pkg/process: Alive(): fix PID 0, -1, negative valuesSebastiaan van Stijn2022-11-042-4/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | unix.Kill() does not produce an error for PID 0, -1. As a result, checking process.Alive() would return "true" for both 0 and -1 on macOS (and previously on Linux as well). Let's shortcut these values to consider them "not alive", to prevent someone trying to kill them. A basic test was added to check the behavior. Given that the intent of these functions is to handle single processes, this patch also prevents 0 and negative values to be used. From KILL(2): https://man7.org/linux/man-pages/man2/kill.2.html If pid is positive, then signal sig is sent to the process with the ID specified by pid. If pid equals 0, then sig is sent to every process in the process group of the calling process. If pid equals -1, then sig is sent to every process for which the calling process has permission to send signals, except for process 1 (init), but see below. If pid is less than -1, then sig is sent to every process in the process group whose ID is -pid. Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
* pkg/pidfile, pkg/process: use single implementation for process aliveSebastiaan van Stijn2022-11-042-11/+48
| | | | | | | | Using the implementation from pkg/pidfile for windows, as that implementation looks to be handling more cases to check if a process is still alive (or to be considered alive). Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
* move pkg/system: process to a separate packageSebastiaan van Stijn2022-11-043-0/+79
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>