---
read_when:
    - یکپارچه‌سازی برنامهٔ مک با چرخهٔ عمر Gateway
summary: چرخهٔ حیات Gateway در macOS (launchd)
title: چرخهٔ حیات Gateway در macOS
x-i18n:
    generated_at: "2026-05-06T09:29:59Z"
    model: gpt-5.5
    provider: openai
    source_hash: 543327024f8c635d74ac656923e8e745dc47ca9df0aba5ec51215bd186db2b35
    source_path: platforms/mac/child-process.md
    workflow: 16
---

برنامه macOS به‌طور پیش‌فرض **Gateway را از طریق launchd مدیریت می‌کند** و
Gateway را به‌صورت یک فرآیند فرزند اجرا نمی‌کند. ابتدا تلاش می‌کند به Gateway
در حال اجرای موجود روی درگاه پیکربندی‌شده متصل شود؛ اگر هیچ موردی در دسترس
نباشد، سرویس launchd را از طریق CLI خارجی `openclaw` فعال می‌کند (بدون زمان
اجرای تعبیه‌شده). این کار شروع خودکار قابل‌اعتماد هنگام ورود و راه‌اندازی
مجدد پس از خرابی را فراهم می‌کند.

حالت فرآیند فرزند (اجرای مستقیم Gateway توسط برنامه) امروز **استفاده نمی‌شود**.
اگر به اتصال نزدیک‌تر با رابط کاربری نیاز دارید، Gateway را به‌صورت دستی در
ترمینال اجرا کنید.

## رفتار پیش‌فرض (launchd)

- برنامه یک LaunchAgent مخصوص هر کاربر با برچسب `ai.openclaw.gateway` نصب می‌کند
  (یا هنگام استفاده از `--profile`/`OPENCLAW_PROFILE`، `ai.openclaw.<profile>`؛ `com.openclaw.*` قدیمی پشتیبانی می‌شود).
- وقتی حالت محلی فعال است، برنامه اطمینان می‌دهد LaunchAgent بارگذاری شده باشد و
  در صورت نیاز Gateway را شروع می‌کند.
- گزارش‌ها در مسیر گزارش Gateway مربوط به launchd نوشته می‌شوند (در تنظیمات اشکال‌زدایی قابل مشاهده است).

دستورهای رایج:

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

هنگام اجرای یک نمایه نام‌گذاری‌شده، برچسب را با `ai.openclaw.<profile>` جایگزین کنید.

## ساخت‌های توسعه امضانشده

`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](/fa/platforms/macos)
- [راهنمای عملیاتی Gateway](/fa/gateway)
