آموزش لیست کردن سرویس های لینوکس با Systemctl - وان سرور آکـادمی
آموزش لیست کردن سرویس های لینوکس با Systemctl
آموزش لیست کردن سرویس های لینوکس با Systemctl

آموزش لیست کردن سرویس های لینوکس با Systemctl

زمان تقریبی مطالعه: 3 دقیقه

آموزش لیست کردن سرویس های لینوکس با Systemctl

در لینوکس ، سرویس برنامه ای است که در پس زمینه اجرا می شود . سرویس ها را می توان در صورت نیاز یا در زمان راه اندازی فعال کرد. در این مقاله آموزش لیست کردن سرویس های لینوکس با Systemctl توضیح داده شده است.

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

بیشتر توزیع های اخیر لینوکس از systemd به عنوان سیستم پیش فرض و مدیر سرویس استفاده می کنند.

Systemd مجموعه ای از ابزارها برای مدیریت سیستم های لینوکس است. این برای راه اندازی ماشین ، مدیریت سرویس ها ، سیستم های پرونده خودکار کردن ، وقایع ورود به سیستم ، نام میزبان راه اندازی و سایر کارهای سیستم استفاده می شود.

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

Systemd از مفهوم واحدها استفاده می کند که می تواند سرویس ها ، سوکت ها ، نقاط نصب ، دستگاه ها و غیره باشد. واحدها با استفاده از پرونده های متنی در قالب ini تعریف می شوند . این پرونده ها شامل اطلاعات مربوط به واحد ، تنظیمات آن و دستورات اجرا می شود. پسوندهای نام پرونده نوع پرونده واحد را تعریف می کنند.

برای دریافت لیستی از تمام واحدهای سرویس های بارگیری شده ، تایپ کنید:

sudo systemctl list-units --type service
UNIT          LOAD      ACTIVE SUB     DESCRIPTION                                                              
cron.service  loaded    active running Regular background program processing daemon 
...

هر خط خروجی شامل ستون های زیر از چپ به راست است:

  • UNIT – نام واحد خدمات.
  • LOAD – اطلاعاتی درباره اینکه آیا پرونده فایل در حافظه بارگیری شده است.
  • ACTIVE– حالت فعال سازی پرونده واحد سطح بالا ، که می تواند فعال ، بارگیری مجدد ، غیرفعال ، شکست خورده ، فعال ، غیرفعال کننده باشد. این یک تعمیم ستون SUB است.
  • SUB– حالت فعال سازی پرونده واحد سطح پایین. مقدار این قسمت به نوع واحد بستگی دارد. به عنوان مثال ، یک سرویس از نوع می تواند در یکی از حالت های زیر باشد ، dead, exited, failed, inactive, یا running.
  • DESCRIPTION – شرح مختصر پرونده واحد.

به طور پیش فرض ، دستور فقط واحدهای فعال بارگذاری شده را لیست می کند. برای دیدن واحدهای بارگیری شده اما غیرفعال ، گزینه --all را رد کنید:

sudo systemctl list-units --type service --all

اگر می خواهید همه پرونده های واحد نصب شده ، نه تنها بارگذاری شده را مشاهده کنید ، از موارد زیر استفاده کنید:

sudo systemctl list-unit-files

نمایش وضعیت سرویس ها

برای بررسی وضعیت سرویس ، از دستور systemctl status استفاده کنید :

sudo systemctl status <service_name>.service

<service_name>نام سرویسی که می خواهید بررسی کنید . به عنوان مثال برای تعیین وضعیت فعلی سرویس nginx که اجرا می کنید:

sudo systemctl status nginx.service

می توانید پسوند “.service” را حذف کنید. systemctl status nginxهمان است systemctl status nginx.service.

● nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2020-12-23 19:13:50 UTC; 5s ago
       Docs: man:nginx(8)
    Process: 3061052 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 3061063 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 3061064 (nginx)
      Tasks: 2 (limit: 470)
     Memory: 6.0M
     CGroup: /system.slice/nginx.service
             ├─3061064 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             └─3061065 nginx: worker process

Dec 23 19:13:50 linuxize.dev systemd[1]: Starting A high performance web server and a reverse proxy server...

این دستور اطلاعات زیر را چاپ می کند:

  • Loaded– اینکه آیا واحد سرویس بارگیری شده است یا مسیر کامل به پرونده واحد. همچنین نشان می دهد که آیا واحد برای شروع زمان بوت فعال است یا خیر.
  • Active– آیا سرویس فعال و در حال اجرا است. اگر ترمینال شما از رنگ پشتیبانی می کند و سرویس فعال و در حال اجرا است ، قسمت dot ( ) و “فعال (در حال اجرا)” به رنگ سبز چاپ می شود. این خط همچنین مدت زمان اجرای سرویس را نشان می دهد.
  • Docs – اسناد سرویس.
  • Process – اطلاعات در مورد فرآیندهای خدمات.
  • Main PID – سرویس PID.
  • Tasks – تعداد وظایف محاسبه شده برای واحد و محدودیت وظایف.
  • Memory – اطلاعات مربوط به حافظه استفاده شده.
  • CGroup – اطلاعات مربوط به گروههای کنترل مرتبط.

اگر فقط می خواهید وضعیت سرویس را بررسی کنید ، از دستور systemctl is-active استفاده کنید . به عنوان مثال ، برای تأیید در حال اجرا بودن سرویس nginx ، شما این کار را انجام می دهید:

systemctl is-active nginx.service
active

این دستور وضعیت سرویس را به شما نشان می دهد. اگر سرویس فعال باشد ، دستور وضعیت خروج 0 را برمی گرداند ، که می تواند هنگام استفاده از دستور داخل اسکریپت های پوسته مفید باشد.

نتیجه

ما به شما نشان داده ایم که چگونه از دستور systemctl برای لیست کردن سرویسهای Linux و بررسی وضعیت آنها استفاده کنید.

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