انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید

نویسنده موضوع: تفاوت systemctl reload و systemctl restart  (دفعات بازدید: 557 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین Mr23

  • Newbie
  • *
  • ارسال: 12
تفاوت systemctl reload و systemctl restart
« : 02 شهریور 1402، 12:51 ق‌ظ »
سلام.

یه بار سرویس NetworkManager رو راه‌انداری مجدد کنید، مشکل باید حل بشه.
sudo systemctl restart NetworkManager.service

شاید با بارگذازی مجدد سرویس هم درست بشه. مطمئن نیستم.
sudo systemctl reload NetworkManager.service

با راه‌اندازی مجدد سیستم هم مشکل حل میشه چون با اینکار همه سرویس‌ها دوباره از اول شروع به کار می‌کنند.

فرق این دو دستور چیه؟
Windows 11
Debian 12 (WSL)

آفلاین Dr.Code

  • High Hero Member
  • *
  • ارسال: 1446
  • جنسیت : پسر
  • Dr.Code
    • My website
پاسخ : تفاوت systemctl reload و systemctl restart
« پاسخ #1 : 02 شهریور 1402، 01:06 ق‌ظ »

AI:
نقل‌قول
در سیستم‌های اجرایی مبتنی بر systemd در لینوکس، دستورهای "systemctl reload" و "systemctl restart" به منظور مدیریت و کنترل خدمات (سرویس‌ها) استفاده می‌شوند. این دو دستور تفاوت‌های مهمی دارند:


1. **systemctl restart**:
وقتی از این دستور استفاده می‌شود، سرویس مربوطه به طور کامل متوقف می‌شود و سپس مجدداً شروع می‌شود. این به معنی بستن تمامی ارتباطات و حالت‌های فعلی سرویس و سپس شروع مجدد آن با تمامی پیکربندی‌ها و تنظیمات است. این دستور باعث قطع کوتاهی در ارتباط با سرویس می‌شود.


2. **systemctl reload**:
وقتی از این دستور استفاده می‌شود، سعی می‌شود سرویس مربوطه بدون توقف کامل دوباره بارگذاری شود. به این معنی که تنها تنظیمات یا تغییرات خاصی که در پیکربندی سرویس اعمال شده‌اند، به روزرسانی می‌شوند و عملکرد سرویس ادامه پیدا می‌کند. این دستور مناسب‌تر است زمانی که می‌خواهید تغییراتی در پیکربندی سرویس اعمال شود بدون ایجاد قطع در ارتباط با سرویس.


به طور کلی، "systemctl restart" برای اعمال تغییرات بزرگتر یا احتمالی تغییر در کدها یا تنظیمات سرویس مناسب است. اما اگر فقط تغییرات کوچکی در پیکربندی صورت گرفته باشد، می‌توانید از "systemctl reload" استفاده کنید تا تنها تغییرات مربوطه اعمال شوند.

آفلاین 🇬🇧بریتانیای کبیر🇬🇧

  • High Hero Member
  • *
  • ارسال: 2641
  • جنسیت : پسر
  • GOD SAVE THE KING/QUEEN
پاسخ : تفاوت systemctl reload و systemctl restart
« پاسخ #2 : 02 شهریور 1402، 01:08 ق‌ظ »
 ببین سرویس ها برای خودشون یه تنظیماتی دارن که در اون نوشته بعد از چه سرویس هایی باید بالا بیان، بعد از چه سرویس هایی نمیتونن بالا بیان، نیازمنی هاشون چیه و ..... که میتونی تنظیماتشونو با دستور
systemctl cat name.serviceببینی.
فقط یک فایل هم نیست. یک سرویس با جاهای زیادی میتونه ارتباط داشته باشه.
خب تو حالا اگه بیای فایل تنظیمات اون سرویسو تغیر بدی
و بخوای یک سرویسو دوباره راه اندازی کنی نمیتونی از restart استفاده کنی چون restart آخرین تغیرات فایل تنظیماتو ابلاغ نمیکنه و فقط سرویسو متوقف میکنه و بعد با همون نسخه تنظیمات قبلی روشن می‌کنه.
ولی reload میزنه سروسو خاموش میکنه، تنظیمات سرویسو بروزرسانی میکنه و سرویسو با آخرین تغیرات تنظیمات اون بالا میاره فایل های تنظیمات سرویس ها در مسیر زیره.
/lib/systemd/system/<servicename>.service
کار restart
Stop and start a unit
کار reload
Reload service-specific configuration

restart مثل اینکه یک کارگر وسط کارش بره یه چایی بخره و بعد دوباره همون کارو انجام بده وبی reload یعنی یک کارگر نقشه رو دوباره بخونه(ممکنه که نقشه تغیر کرده باشه یا نه) و بعد بر اساس نقشه جدید دوباره شروع به کار کنه.



منبع

If you change /lib/systemd/system/<servicename>.service and restart via

systemctl restart <servicename>.service

it will not load the new settings unless you do a systemctl daemon-reload. Instead, it will just restart the old cached settings with no changes.

This has burned us many times. People just restart service but forget that it does not reload the changes.
« آخرین ویرایش: 02 شهریور 1402، 09:00 ق‌ظ توسط 🇬🇧United Kingdom🇬🇧 »
🇬🇧🏴󠁧󠁢󠁥󠁮󠁧󠁿🏴󠁧󠁢󠁷󠁬󠁳󠁿🏴󠁧󠁢󠁳󠁣󠁴󠁿🇬🇧