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

# چرخه حیات Gateway در macOS

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

حالت فرایند فرزند (اجرای مستقیم Gateway توسط برنامه) امروز **استفاده نمی‌شود**.
اگر به اتصال محکم‌تر با UI نیاز دارید، 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` در صورت وجود این نشانگر، این override را
پاک می‌کند. برای بازنشانی دستی:

```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)
