---
read_when:
    - Intégrer l’application Mac au cycle de vie du Gateway
summary: Cycle de vie du Gateway sur macOS (launchd)
title: Cycle de vie du Gateway
x-i18n:
    generated_at: "2026-04-24T07:20:32Z"
    model: gpt-5.4
    provider: openai
    source_hash: a110d8f4384301987f7748cb9591f8899aa845fcf635035407a7aa401b132fc4
    source_path: platforms/mac/child-process.md
    workflow: 15
---

# Cycle de vie du Gateway sur macOS

L’application macOS **gère le Gateway via launchd** par défaut et ne lance pas
le Gateway comme processus enfant. Elle essaie d’abord de se rattacher à un
Gateway déjà en cours d’exécution sur le port configuré ; si aucun n’est joignable,
elle active le service launchd via la CLI externe `openclaw` (sans runtime embarqué). Cela vous
donne un démarrage automatique fiable à la connexion et un redémarrage en cas de plantage.

Le mode processus enfant (Gateway lancé directement par l’application) **n’est pas utilisé** aujourd’hui.
Si vous avez besoin d’un couplage plus étroit avec l’interface, exécutez le Gateway manuellement dans un terminal.

## Comportement par défaut (launchd)

- L’application installe un LaunchAgent par utilisateur étiqueté `ai.openclaw.gateway`
  (ou `ai.openclaw.<profile>` lors de l’utilisation de `--profile`/`OPENCLAW_PROFILE` ; l’ancien `com.openclaw.*` est pris en charge).
- Lorsque le mode local est activé, l’application s’assure que le LaunchAgent est chargé et
  démarre le Gateway si nécessaire.
- Les journaux sont écrits dans le chemin de journal du gateway launchd (visible dans les Debug Settings).

Commandes courantes :

```bash
launchctl kickstart -k gui/$UID/ai.openclaw.gateway
launchctl bootout gui/$UID/ai.openclaw.gateway
```

Remplacez l’étiquette par `ai.openclaw.<profile>` lorsque vous utilisez un profil nommé.

## Builds de développement non signés

`scripts/restart-mac.sh --no-sign` sert aux builds locaux rapides lorsque vous n’avez pas
de clés de signature. Pour éviter que launchd ne pointe vers un binaire de relais non signé, il :

- Écrit `~/.openclaw/disable-launchagent`.

Les exécutions signées de `scripts/restart-mac.sh` effacent ce remplacement si le marqueur
est présent. Pour réinitialiser manuellement :

```bash
rm ~/.openclaw/disable-launchagent
```

## Mode attach-only

Pour forcer l’application macOS à **ne jamais installer ni gérer launchd**, lancez-la avec
`--attach-only` (ou `--no-launchd`). Cela définit `~/.openclaw/disable-launchagent`,
de sorte que l’application ne fasse que se rattacher à un Gateway déjà en cours d’exécution. Vous pouvez aussi activer/désactiver ce
comportement dans les Debug Settings.

## Mode distant

Le mode distant ne démarre jamais de Gateway local. L’application utilise un tunnel SSH vers l’hôte
distant et se connecte via ce tunnel.

## Pourquoi nous préférons launchd

- Démarrage automatique à la connexion.
- Sémantique intégrée de redémarrage/KeepAlive.
- Journaux et supervision prévisibles.

Si un vrai mode processus enfant devait redevenir nécessaire, il devrait être documenté comme un
mode séparé, explicite et réservé au développement.

## Associé

- [Application macOS](/fr/platforms/macos)
- [Runbook Gateway](/fr/gateway)
