Skip to content
Syscall BSD#7

svc · unix #7

wait4

Attend un changement d'état d'un processus enfant et retourne statut et rusage.

Prototype

int wait4(int pid, user_addr_t status, int options, user_addr_t rusage);

Retour: int

Arguments

NameTypeDirDescription
pidint-
statususer_addr_t-
optionsint-
rusageuser_addr_t-

Historique des versions

XNU tagmacOS#
xnu-1456.1.26macOS 10.6 Snow Leopard7
xnu-1486.2.117
xnu-1504.15.37
xnu-1504.3.127
xnu-1504.7.47
xnu-1504.9.177
xnu-1504.9.267
xnu-1504.9.377

Notes

Récolteur BSD qui implémente waitpid() côté libc. Les options incluent WNOHANG pour du polling et WUNTRACED/WCONTINUED pour observer les arrêts de contrôle de jobs. L'out-paramètre rusage est rempli depuis les compteurs cumulés de l'enfant avant que sa struct proc ne soit libérée.

Détection

La probe DTrace syscall::wait4:return montre le PID récolté dans arg0 et le statut décodé via WIFEXITED/WTERMSIG. Endpoint Security corrèle l'ES_EVENT_TYPE_NOTIFY_EXIT précédent.

API associées

waitidforkposix_spawnexitkillgetrusage