| 174 | } |
| 175 | |
| 176 | int find_pids_by_binary_name(char *bin_name, pidinfo_t *pid_list, int max_pids) |
| 177 | { |
| 178 | int pid_count=0; |
| 179 | int nb_processes = proc_listpids(PROC_ALL_PIDS, 0, NULL, 0); |
| 180 | char exe[1024]; |
| 181 | pid_t *pids; |
| 182 | int i; |
| 183 | |
| 184 | pids = malloc(nb_processes * sizeof(pid_t)); |
| 185 | assert(pids != NULL); |
| 186 | |
| 187 | proc_listpids(PROC_ALL_PIDS, 0, pids, nb_processes); |
| 188 | for(i = 0; i < nb_processes; ++i) { |
| 189 | if (pids[i] == 0) { |
| 190 | continue; |
| 191 | } |
| 192 | proc_name(pids[i], exe, sizeof(exe)); |
| 193 | if(!strcmp(exe, bin_name)) { |
| 194 | pid_list[pid_count].pid=pids[i]; |
| 195 | strcpy(pid_list[pid_count].name, bin_name); |
| 196 | pid_count++; |
| 197 | if(pid_count==max_pids) |
| 198 | break; |
| 199 | } |
| 200 | } |
| 201 | free(pids); |
| 202 | return pid_count; |
| 203 | } |
| 204 | #endif // __APPLE__ |
| 205 | #ifdef __linux__ |
| 206 | int find_pid_by_id(pid_t pid, pidinfo_t *pid_list) |
no test coverage detected