func()

in providers/darwin/process_darwin.go [40:59]


func (s darwinSystem) Processes() ([]types.Process, error) {
	ps, err := unix.SysctlKinfoProcSlice("kern.proc.all")
	if err != nil {
		return nil, fmt.Errorf("failed to read process table: %w", err)
	}

	processes := make([]types.Process, 0, len(ps))
	for _, kp := range ps {
		pid := kp.Proc.P_pid
		if pid == 0 {
			continue
		}

		processes = append(processes, &process{
			pid: int(pid),
		})
	}

	return processes, nil
}