TGViewer
TKC TKC @things_to_know_channel · 830 subscribers
Post #446 309
وقتی یک سرور لینوکسی را Boot می‌کنیم، اولین Process سیستم چیست و چه کسی مسئول زنده نگه داشتن سرویس‌هاست؟

در لینوکس، Process با PID 1 نقش ویژه‌ای دارد. این Process بعد از Kernel اجرا می‌شود و مسئولیت‌هایی مثل راه‌اندازی User Space، مدیریت برخی Processهای orphan شده و واکنش به وضعیت سرویس‌های سیستم را بر عهده دارد. در سیستم‌های قدیمی‌تر، این نقش معمولاً توسط init و پیاده‌سازی‌هایی مثل SysVinit انجام می‌شد.

در SysVinit، سرویس‌ها عمدتاً با اسکریپت‌های موجود در مسیرهایی مثل /etc/init.d/ مدیریت می‌شدند و ترتیب اجرای آن‌ها با Runlevelها و لینک‌های مختلف مشخص می‌شد. این مدل ساده و قابل فهم بود، اما با بزرگ‌تر شدن سیستم‌ها، مدیریت dependencyها، اجرای موازی سرویس‌ها و تشخیص وضعیت واقعی سرویس‌ها می‌توانست پیچیده شود.

اینجاست که systemd وارد می‌شود. systemd علاوه بر اینکه PID 1 است، یک سیستم مدیریت سرویس و dependency هم ارائه می‌کند. سرویس‌ها در قالب Unit تعریف می‌شوند؛ مثلاً یک فایل nginx.service می‌تواند مشخص کند سرویس چگونه اجرا شود، به چه سرویس‌هایی وابسته باشد، در صورت Crash چه اتفاقی بیفتد و چه زمانی Start شود. ابزارهایی مثل systemctl و journalctl هم مدیریت سرویس و بررسی Logها را ساده‌تر می‌کنند.

برای یک DevOps، تفاوت فقط در دستور systemctl به‌جای service خلاصه نمی‌شود. مفاهیمی مثل dependency graph، socket activation، service supervision، restart policy، targetها و journald باعث می‌شوند systemd عملاً بخشی از معماری Runtime یک Linux Server باشد. به همین دلیل وقتی یک سرویس روی سرور بالا نمی‌آید، فهمیدن اینکه PID 1 چه نقشی دارد و systemd دقیقاً چه تصمیمی گرفته، می‌تواند بخش مهمی از فرآیند Troubleshooting باشد.

حالا سؤال جالب این است: اگر قرار بود امروز یک سیستم‌عامل Unix/Linux جدید طراحی کنید، برای PID 1 همچنان یک init ساده انتخاب می‌کردید یا چیزی شبیه systemd؟

@things_to_know_channel
  • ❤ 4
  • 👍 1
  • 🔥 1
More from @things_to_know_channel
  1. Oct 3, 2026#network_time ‏🌐 چرا یه سرور شلوغ یهو نمی‌تونه connection جدید برقرار کنه؟ ‏تا حا…
  2. Oct 2, 2026#network_time ‏🧐 وقتی می‌دونیم IP طرف چیه، سیستم چطور می‌فهمه باید packet رو دقیقاً ب…
  3. Oct 1, 2026#linux_time ‏🤝 چطور میشه روی یه راز مشترک توافق کرد، وقتی همه دارن گوش می‌دن؟ ‏تا…
  4. Sep 24, 2026#linux_time ‏💿 dd — کپی سطح پایین دیسک ‏در ادامه چند تا مثال کاربردی ازش میبینیم:…
  5. Sep 23, 2026#linux_time ‏🤝 دو تا سیستم چطور توافق می‌کنن که ترتیب packetها رو گم نکنن؟ ‏تا حا…
  6. Sep 22, 2026📌 systemctl Cheat Sheet اگر با Linux Server و DevOps سر و کار دارید، systemctl یکی از دست…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →