pidof ignore self

This commit is contained in:
dec05eba
2025-01-04 02:30:14 +01:00
parent 36c7bbfda3
commit f4dc077299
3 changed files with 8 additions and 5 deletions

View File

@@ -206,7 +206,7 @@ namespace gsr {
return false;
}
pid_t pidof(const char *process_name) {
pid_t pidof(const char *process_name, pid_t ignore_pid) {
pid_t result = -1;
DIR *dir = opendir("/proc");
if(!dir)
@@ -222,8 +222,11 @@ namespace gsr {
snprintf(cmdline_filepath, sizeof(cmdline_filepath), "/proc/%s/cmdline", entry->d_name);
if(read_cmdline_arg0(cmdline_filepath, arg0, sizeof(arg0)) && strcmp(process_name, arg0) == 0) {
result = atoi(entry->d_name);
break;
const pid_t pid = atoi(entry->d_name);
if(pid != ignore_pid) {
result = pid;
break;
}
}
}