شما برای مطالعه این مقاله فقط 4 دقیقه وقت نیاز دارید

how-to-lis-linux-services
دسته بندی : آموزش لینوکس

لیست کردن سرویس های لینوکس با دستور systemctl و service

5/5 - (2 امتیاز)

سرویس های لینوکس مختلفی وجود دارند که به طور مداوم در پس زمینه سیستم اجرا می شوند که هر کدام به نوبه خود مسئول انجام وظایف خاصی هستند. با لیست کردن سرویس های لینوکس به راحتی می توانید به فهرست سرویس های در حال اجرا دسترسی پیدا کنید و پروسه پیچیده و دلهره آور اجرا  و مدیریت سرویس ها را به راحتی پشت سر بگذارید.

سرویس های لینوکس نقش مهمی در عملکرد درست سیستم لینوکس دارد. مخصوصاً وقتی که می خواهید خطایابی انجام دهید و مشکل سیستم را کشف و برطرف کنید. دو دستور systemctl و service رایج ترین روش های لیست کردن سرویس های لینوکس هستند.

پس بیایید فرصت را از دست ندهیم و با ساده ترین راه کارهای لیست کردن سرویس ها لینوکس آشنا شویم:

سرویس لینوکس چیست؟

دیمون ها یا سرویس های لینوکس اسکریپت هایی هستند که در پس زمینه اجرا می شوند و بدون نیاز به رابط کاربری و تعامل انسانی به صورت خودکار با بالا آمدن سیستم شروع می شوند. این سرویس ها به طور مداوم به درخواست های دریافتی گوش می دهند و پاسخ های مناسبی را برای آنها ارسال می کنند.

توجه داشته باشید که سرویس و فرآیند دو اصطلاح کاملاً متفاوت هستند چون فرآیند، اپلیکیشن یا اسکریپتی است که می تواند هم در پیش زمینه و هم پس زمینه اجرا شود.

از رایج ترین سرویس های لینوکس می توان به mysql ،httpd ،apparmor و nfs اشاره کرد ولی در کل، سرویس های زیادی وجود دارد که شاید از وجود آنها بی اطلاع هستید و با لیست کردن سرویس های لینوکس به آنها دسترسی پیدا خواهید کرد.

init اولین سرویسی است که اجرا می شود و استارت سرویس های دیگر را می زند که جزئیات سرویس های لینوکس هم در فهرست راهنمای موجود در دایرکتوری /etc/init/d نگهداری می شود.

وقتی صحبت از سرویس ها است، غیر منطقی است که به systemd اشاره نکنیم. systemd یک سیستم پیکربندی و مدیریت سرویس ها است که کارهایی مثل راه اندازی سرویس بر اساس درخواست دیمون، تعمیر، نگهداری، پشتیبانی و ردیابی فرآیندها را انجام می دهد. هر اسکریپتی را می توان به سرویس systemd تبدیل کرد تا موقع بوت شدن سیستم اجرا شود. دستور systemctl هم ابزار خط فرمان system است که کارهایی مثل شروع، توقف، بارگذاری و راه اندازی مجدد و لیست کردن سرویس های لینوکس راحت تر و سریع تر انجام شود.

اگر دوست دارید با خرید سرور مجازی لینوکس، وضعیت کسب و کار خود را ارتقا دهید، فراموش نکنید که آموزش هایی که در ادامه ارائه می دهیم برای سرور مجازی لینوکس هم قابل استفاده هستند و بدون هیچ نگرانی می توانید از دستورات زیر برای مشاهده لیست سرویس های سرور مجازی لینوکس هم استفاده کنید.

نحوه دسترسی به لیست سرویس های لینوکس با دستور systemctl

با دستوراتی که در ادامه بررسی می کنیم به راحتی می توانید وضعیت سرویس های در حال اجرا در سیستم لینوکس را بررسی کنید. حتی اگر به دلایلی می خواهید سرویسی را متوقف کنید، می توانید از دستور مخصوص توقف در systemctl استفاده کنید.

برای مشاهده تمام سرویس ها (فعال، در حال اجرا، ناموفق و تکمیل شده) دستور زیر را اجرا کنید:

systemctl list-units --type=service

لیست سرویس ها با systemctl

همانطور که در خروجی هم مشاهده می کنید، 4 ستون داریم که هر کدام اطلاعاتی را در مورد سرویس های لینوکس ارائه می دهند که بررسی آنها می تواند برای خطایابی بسیار مفید باشد.

کلیک کنید  CentOS Stream چیست؛ آیا می تواند جایگزین CentOS باشد؟

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

دستور 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 برای دسترسی به سرویس های هر یک از توزیع های لینوکس قابل استفاده هستند.

مطالب مشابهی که شاید علاقمند باشید

من زهرا پیرجانی دانشجوی رشته نرم افزار هستم. علاقه ای که به یادگیری مطالب جدید دارم باعث شد که انگیزم برای فعالیت در حوزه تولیدمحتوا بیشتر شود. تمام تلاشم این است که با درک کامل موضوع، محتوایی ساده و کامل تهیه کنم که برای همه علاقمندان مفید و کاربردی باشد. یادگیری مطالب جدید و آموزش اونها به بقیه، بهترین کاری هست که می توانم برای رشد خودم و همچنین کمک به رشد علاقمندان به مباحث مورنظر انجام بدم.

دیدگاه های شما

برای دریافت این مقاله لطفا ایمیلتان را وارد کنید

می توانید مقاله را دانلود کنید یا پرینت بگیرید