انجمنهای فارسی اوبونتو
کمک و پشتیبانی => انجمن عمومی => نویسنده: Mr23 در 02 شهریور 1402، 12:51 قظ
-
سلام.
یه بار سرویس NetworkManager رو راهانداری مجدد کنید، مشکل باید حل بشه.
sudo systemctl restart NetworkManager.service
شاید با بارگذازی مجدد سرویس هم درست بشه. مطمئن نیستم.
sudo systemctl reload NetworkManager.service
با راهاندازی مجدد سیستم هم مشکل حل میشه چون با اینکار همه سرویسها دوباره از اول شروع به کار میکنند.
فرق این دو دستور چیه؟
-
AI:در سیستمهای اجرایی مبتنی بر systemd در لینوکس، دستورهای "systemctl reload" و "systemctl restart" به منظور مدیریت و کنترل خدمات (سرویسها) استفاده میشوند. این دو دستور تفاوتهای مهمی دارند:
1. **systemctl restart**:
وقتی از این دستور استفاده میشود، سرویس مربوطه به طور کامل متوقف میشود و سپس مجدداً شروع میشود. این به معنی بستن تمامی ارتباطات و حالتهای فعلی سرویس و سپس شروع مجدد آن با تمامی پیکربندیها و تنظیمات است. این دستور باعث قطع کوتاهی در ارتباط با سرویس میشود.
2. **systemctl reload**:
وقتی از این دستور استفاده میشود، سعی میشود سرویس مربوطه بدون توقف کامل دوباره بارگذاری شود. به این معنی که تنها تنظیمات یا تغییرات خاصی که در پیکربندی سرویس اعمال شدهاند، به روزرسانی میشوند و عملکرد سرویس ادامه پیدا میکند. این دستور مناسبتر است زمانی که میخواهید تغییراتی در پیکربندی سرویس اعمال شود بدون ایجاد قطع در ارتباط با سرویس.
به طور کلی، "systemctl restart" برای اعمال تغییرات بزرگتر یا احتمالی تغییر در کدها یا تنظیمات سرویس مناسب است. اما اگر فقط تغییرات کوچکی در پیکربندی صورت گرفته باشد، میتوانید از "systemctl reload" استفاده کنید تا تنها تغییرات مربوطه اعمال شوند.
-
ببین سرویس ها برای خودشون یه تنظیماتی دارن که در اون نوشته بعد از چه سرویس هایی باید بالا بیان، بعد از چه سرویس هایی نمیتونن بالا بیان، نیازمنی هاشون چیه و ..... که میتونی تنظیماتشونو با دستور
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.