لیست کردن سرویس های لینوکس با دستور systemctl و service
سرویس های لینوکس مختلفی وجود دارند که به طور مداوم در پس زمینه سیستم اجرا می شوند که هر کدام به نوبه خود مسئول انجام وظایف خاصی هستند. با لیست کردن سرویس های لینوکس به راحتی می توانید به فهرست سرویس های در حال اجرا دسترسی پیدا کنید و پروسه پیچیده و دلهره آور اجرا و مدیریت سرویس ها را به راحتی پشت سر بگذارید.
سرویس های لینوکس نقش مهمی در عملکرد درست سیستم لینوکس دارد. مخصوصاً وقتی که می خواهید خطایابی انجام دهید و مشکل سیستم را کشف و برطرف کنید. دو دستور systemctl و service رایج ترین روش های لیست کردن سرویس های لینوکس هستند.
پس بیایید فرصت را از دست ندهیم و با ساده ترین راه کارهای لیست کردن سرویس های لینوکس آشنا شویم:
سرویس لینوکس چیست؟
دیمون ها یا سرویس های لینوکس اسکریپت هایی هستند که در پس زمینه اجرا می شوند و بدون نیاز به رابط کاربری و تعامل انسانی به صورت خودکار با بالا آمدن سیستم شروع می شوند. این سرویس ها به طور مداوم به درخواست های دریافتی گوش می دهند و پاسخ های مناسبی را برای آنها ارسال می کنند.
توجه داشته باشید که سرویس و فرآیند دو اصطلاح کاملاً متفاوت هستند چون فرآیند، اپلیکیشن یا اسکریپتی است که می تواند هم در پیش زمینه و هم پس زمینه اجرا شود.
از رایج ترین سرویس های لینوکس می توان به mysql ،httpd ،apparmor و nfs اشاره کرد ولی در کل، سرویس های زیادی وجود دارد که شاید از وجود آنها بی اطلاع هستید و با لیست کردن سرویس های لینوکس به آنها دسترسی پیدا خواهید کرد.
init اولین سرویسی است که اجرا می شود و استارت سرویس های دیگر را می زند که جزئیات سرویس های لینوکس هم در فهرست راهنمای موجود در دایرکتوری /etc/init/d نگهداری می شود.
وقتی صحبت از سرویس ها است، غیر منطقی است که به systemd اشاره نکنیم. systemd یک سیستم پیکربندی و مدیریت سرویس ها است که کارهایی مثل راه اندازی سرویس بر اساس درخواست دیمون، تعمیر، نگهداری، پشتیبانی و ردیابی فرآیندها را انجام می دهد. هر اسکریپتی را می توان به سرویس systemd تبدیل کرد تا موقع بوت شدن سیستم اجرا شود. دستور systemctl هم ابزار خط فرمان system است که کارهایی مثل شروع، توقف، بارگذاری و راه اندازی مجدد و لیست کردن سرویس های لینوکس راحت تر و سریع تر انجام شود.
اگر دوست دارید با خرید سرور مجازی لینوکس، وضعیت کسب و کار خود را ارتقا دهید، فراموش نکنید که آموزش هایی که در ادامه ارائه می دهیم برای سرور مجازی لینوکس هم قابل استفاده هستند و بدون هیچ نگرانی می توانید از دستورات زیر برای مشاهده لیست سرویس های سرور مجازی لینوکس هم استفاده کنید.
نحوه دسترسی به لیست سرویس های لینوکس با دستور systemctl
با دستوراتی که در ادامه بررسی می کنیم به راحتی می توانید وضعیت سرویس های در حال اجرا در سیستم لینوکس را بررسی کنید. حتی اگر به دلایلی می خواهید سرویسی را متوقف کنید، می توانید از دستور مخصوص توقف در systemctl استفاده کنید.
برای مشاهده تمام سرویس ها (فعال، در حال اجرا، ناموفق و تکمیل شده) دستور زیر را اجرا کنید:
systemctl list-units --type=service
همانطور که در خروجی هم مشاهده می کنید، 4 ستون داریم که هر کدام اطلاعاتی را در مورد سرویس های لینوکس ارائه می دهند که بررسی آنها می تواند برای خطایابی بسیار مفید باشد.
Unit – فایل مورداستفاده سرویس
Load – سرویس بعد از راه اندازی در حافظه بارگذاری شده است یا نه.
Active – فعال یا غیرفعال بودن سرویس
Sub – وضعیت فعلی سرویس
Description – شرح کوتاهی از سرویس
اگر تمایلی به مشاهده تمام سرویس ها ندارید و فقط به لیست سرویس های در حال اجرا نیاز دارید، می توانید از آپشن state استفاده کنید:
systemctl list-units --type=service --state=running
البته به جای running می توانید سرویس هایی که در وضعیت Active (فعال)، dead (نابود شده)، exited (خارج شده) و inactive (غیرفعال) قرار دارند را هم مشاهده کنید. کافیست جلوی آپشن state معادل انگلیسی هر کدام از وضعیت ها را قرار دهید.
systemctl list-units --type=service --state= dead,Active
اگر سرویس خاصی را مدنظر دارید که می خواهید کارهایی مثل بررسی وضعیت، ری استارت و توقف سرویس را انجام دهید، می توانید از دستورات زیر استفاده کنید.
بررسی وضعیت سرویس
systemctl status service-name
خروجی این دستور جزئیات مهمی مثل مدت زمان اجرا، میزان مصرف حافظه و CPU و … را نشان می دهد.
توقف سرویس
sudo systemctl stop service-name
ری استارت سرویس
sudo systemctl restart service-name
لیست کردن سرویس های لینوکس با دستور service
یکی دیگر از دستوراتی که می توان برای دسترسی به لیست سرویس های لینوکس استفاده کرد، service است. این دستور هم مثل دستور systemctl علاوه بر ارائه لیست سرویس ها، عملیات دیگری مثل توقف، ری استارت یا بررسی وضعیت سرویس را انجام می دهد.
برای مشاهده تمام سرویس های سیستم لینوکس می توانید از دستور زیر استفاده کنید:
service --status-all
دستور service جزئیات مربوط به وضعیت سرویس ها را با استفاده از سمبل ها نشان می دهد:
+ : سرویس در حال اجرا است.
– :سرویس کلاً اجرا نشده است.
? : مشخص نیست که سرویس در حال اجرا است یا نه.
اگر می خواهید فقط به لیست سرویس های در حال اجرا دسترسی پیدا کنید، کافیست از آپشن grep استفاده کنید:
service --status-all | grep running
اگر سرویس خاصی را مدنظر دارید که می خواهید کارهایی مثل استارت، بررسی وضعیت، ری استارت و توقف سرویس را انجام دهید، می توانید از دستورات زیر استفاده کنید.
بررسی وضعیت سرویس
service service-name status
استارت سرویس
service service-name start
ری استارت سرویس
service service-name restart
توقف سرویس
service service-name stop
پس با استفاده از این دو دستور به راحتی می توانید لیست سرویس های لینوکس را بررسی کنید. با دسترسی به این لیست به راحتی می توانید عیب یابی کنید و برای بهبود عملکرد و وضعیت سیستم خود در سریع ترین زمان ممکن وارد عمل شوید.
کلام آخر
لینوکس یک سیستم عامل همه کاره و قدرتمند است که هم در دسکتاپ و هم در سرورها قابل نصب و استفاده است. با توجه به اینکه سرویس ها نقش مهمی در عملکرد سیستم دارند، کنترل و مدیریت آنها، یکی از مهم ترین کارهایی است که یک کاربر لینوکس باید بلد باشد. با این که راه حل های مختلفی برای لیست کردن سرویس های لینوکس وجود دارد ولی اگر می خواهید این کار را با سرعت بیشتری انجام دهید، بهتر است از دستورات systemctl و service استفاده کنید.
از اینکه تا انتهای مقاله با ما همراه بودید، از شما متشکریم. امیدواریم که مطالعه این مقاله برای شما مفید واقع شده باشد. در صورت داشتن هرگونه سوال، درخواست و نیاز به راهنمایی، می توانید با ثبت نظر خود، با ما وارد ارتباط شوید تا هر چه زودتر به شما پاسخ دهیم.
سوالات متداول:
آیا سرویس های لینوکس در هر توزیعی قابل مشاهده هستند؟
بله، دو دستور systemctl و service برای دسترسی به سرویس های هر یک از توزیع های لینوکس قابل استفاده هستند.