---
read_when:
    - Интеграция приложения для Mac с жизненным циклом Gateway
summary: Жизненный цикл Gateway в macOS (launchd)
title: Жизненный цикл Gateway в macOS
x-i18n:
    generated_at: "2026-06-28T23:11:55Z"
    model: gpt-5.5
    postprocess_version: locale-links-v1
    provider: openai
    source_hash: 543327024f8c635d74ac656923e8e745dc47ca9df0aba5ec51215bd186db2b35
    source_path: platforms/mac/child-process.md
    workflow: 16
---

Приложение macOS по умолчанию **управляет Gateway через launchd** и не запускает
Gateway как дочерний процесс. Сначала оно пытается подключиться к уже запущенному
Gateway на настроенном порту; если он недоступен, оно включает сервис launchd
через внешний CLI `openclaw` (без встроенной среды выполнения). Это обеспечивает
надежный автозапуск при входе в систему и перезапуск при сбоях.

Режим дочернего процесса (Gateway, запускаемый напрямую приложением) сегодня
**не используется**. Если вам нужна более тесная связка с UI, запустите Gateway
вручную в терминале.

## Поведение по умолчанию (launchd)

- Приложение устанавливает пользовательский LaunchAgent с меткой `ai.openclaw.gateway`
  (или `ai.openclaw.<profile>` при использовании `--profile`/`OPENCLAW_PROFILE`; устаревший `com.openclaw.*` поддерживается).
- Когда включен локальный режим, приложение проверяет, что LaunchAgent загружен, и
  при необходимости запускает Gateway.
- Журналы записываются в путь журнала launchd для Gateway (виден в настройках отладки).

Распространенные команды:

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

Замените метку на `ai.openclaw.<profile>` при запуске именованного профиля.

## Неподписанные dev-сборки

`scripts/restart-mac.sh --no-sign` предназначен для быстрых локальных сборок, когда у вас нет
ключей подписи. Чтобы launchd не указывал на неподписанный relay-бинарный файл, он:

- Записывает `~/.openclaw/disable-launchagent`.

Подписанные запуски `scripts/restart-mac.sh` очищают это переопределение, если маркер
присутствует. Чтобы сбросить вручную:

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

## Режим только подключения

Чтобы заставить приложение macOS **никогда не устанавливать launchd и не управлять им**, запустите его с
`--attach-only` (или `--no-launchd`). Это задает `~/.openclaw/disable-launchagent`,
поэтому приложение только подключается к уже запущенному Gateway. То же
поведение можно переключить в настройках отладки.

## Удаленный режим

Удаленный режим никогда не запускает локальный Gateway. Приложение использует SSH-туннель к
удаленному хосту и подключается через этот туннель.

## Почему мы предпочитаем launchd

- Автозапуск при входе в систему.
- Встроенная семантика перезапуска/KeepAlive.
- Предсказуемые журналы и супервизия.

Если настоящий режим дочернего процесса когда-либо снова понадобится, он должен быть задокументирован как
отдельный, явный режим только для разработки.

## См. также

- [Приложение macOS](/ru/platforms/macos)
- [Runbook Gateway](/ru/gateway)
