Syscall BSD#37
svc · unix #37
kill
Envoie un signal à un processus ou groupe de processus identifié par PID.
Prototype
int kill(int pid, int signum, int posix);Retour: int
Arguments
| Name | Type | Dir | Description |
|---|---|---|---|
| pid | int | - | |
| signum | int | - | |
| posix | int | - |
Historique des versions
| XNU tag | macOS | # |
|---|---|---|
| xnu-1456.1.26 | macOS 10.6 Snow Leopard | 37 |
| xnu-1486.2.11 | — | 37 |
| xnu-1504.15.3 | — | 37 |
| xnu-1504.3.12 | — | 37 |
| xnu-1504.7.4 | — | 37 |
| xnu-1504.9.17 | — | 37 |
| xnu-1504.9.26 | — | 37 |
| xnu-1504.9.37 | — | 37 |
Notes
Les vérifications de droits comparent l'UID effectif/réel de l'émetteur au saved-set UID de la cible, root passant outre. PID 0 cible le groupe de processus de l'appelant, -1 diffuse à tout processus autorisé, et un PID négatif vise un pgid explicite. Envoyer le signal 0 ne fait que la vérification de droits et d'existence, technique standard pour tester si un PID est vivant.
Détection
Endpoint Security expose ES_EVENT_TYPE_NOTIFY_SIGNAL avec émetteur, cible et numéro de signal. La probe DTrace proc:::signal-send donne args[0]=proc cible, args[2]=signal.
API associées
sigactionsigprocmasksigsuspend__sigwaitwaitid