بلاگ/چاپ فهرست سرویس‌های ناموفق در لینوکس
به‌روز شده

چاپ فهرست سرویس‌های ناموفق در لینوکس

آیا فرمانی برای چاپ فهرست سرویس‌های ناموفق در هنگام استفاده از systemd در لینوکس وجود دارد؟ آیا می‌توان با استفاده از فرمان systemctl، لیست تمام سرویس‌های ناموفق را مشاهده کرد؟ اینها سؤالاتی است که در ادامه به دنبال پاسخ آن هستیم. در این آموزش نسبتاً‌ کوتاه، نحوه پیدا کردن و چاپ فهرست سرویس‌های...

1399/04/225316 بازدید
چاپ فهرست سرویس‌های ناموفق در لینوکس
آیا فرمانی برای چاپ فهرست سرویس‌های ناموفق در هنگام استفاده از systemd در لینوکس وجود دارد؟ آیا می‌توان با استفاده از فرمان systemctl، لیست تمام سرویس‌های ناموفق را مشاهده کرد؟ اینها سؤالاتی است که در ادامه به دنبال پاسخ آن هستیم. در این آموزش نسبتاً‌ کوتاه، نحوه پیدا کردن و چاپ فهرست سرویس‌های ناموفق systemd در سیستم‌عامل‌های لینوکس با استفاده از فرمان system را مرور خواهیم کرد.

فرمان systemctl برای چاپ فهرست سرویس‌های ناموفق

فرمان systemctl برای کنترل systemd سیستم و مدیریت سرویس‌ها به کار می‌رود. برای فهرست‌کردن تمام واحد‌هایی که هم‌اکنون در حافظه system قرار دارند، می‌توانید از گزینه list-units در فرمان systemctl استفاده کنید.
php
sudo systemctl list-units --failed## OR ##sudo systemctl list-units --state failed
گزینه‌های فرمان systemctl برای چاپ فهرست سرویس‌های ناموفق
گزینه‌های فرمان systemctl برای چاپ فهرست سرویس‌های ناموفق

نکاتی در مورد گزینه is-failed

امکان بررسی وضعیت «ناموفق‌بودن» یک سرویس یا واحد در لینوکس وجود دارد. پس از اجرای فرمان زیر، اگر حداقل یک سرویس ناموفق وجود داشته باشد، کد صفر نمایش داده خواهد شد. مگر اینکه گزینه –quiet به فرمان systemctl اضافه شده باشد که در این صورت، وضعیت کنونی واحد در خروجی استاندارد چاپ می‌شود.
php
sudo systemctl is-failed {service-name-here}sudo systemctl is-failed nginx.servicesudo systemctl is-failed vboxweb.service
حالت دیگر، اجرای فرمان ساده زیر به همراه فرمان grep به منظور تهیه لیست سرویس‌های ناموفق است.
php
sudo systemctl list-units | grep -i failed
گزینه‌های systemctl برای چاپ فهرست سرویس‌های ناموفق در لینوکس اوبونتو یا دبیان
گزینه‌های systemctl برای چاپ فهرست سرویس‌های ناموفق در لینوکس اوبونتو یا دبیان

نحوه پیدا کردن وضعیت واحد یا سرویس

به صورت زیر از گزینه status استفاده کنید.
php
sudo systemctl status {service-name}sudo systemctl status ssh.servicesudo systemctl status nginx.servicesudo systemctl status vboxweb.service
گزینه status در فرمان systemctl
گزینه status در فرمان systemctl

نمایش مشخصات یک واحد سرویس

برای این منظور فرمان زیر را اجرا کنید.
php
sudo systemctl show {service-name}sudo systemctl show vboxweb.service

نحوه مشاهده پیام‌های ثبت وقایع

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

نمایش تمام پیام‌ها

php
journalctljournalctl | grep 'error'

نمایش فقط پیام‌های کرنل

php
journalctl –k

نمایش پیام‌های لحظه‌ای بر روی صفحه به محض ظاهر شدن

php
journalctl –f

چگونه پیام‌های مرتبط با یک سرویس خاص را مشاهده کنیم؟

php
journalctl -u {service-name-here}journalctl -u ssh.servicejournalctl -u vboxweb.service
نمونه خروجی
php
-- Reboot –Apr 17 00:41:06 nixcraft-wks01 systemd[1]: Starting VirtualBox Web Service…Apr 17 00:41:06 nixcraft-wks01 vboxwebsrv[1675]: WARNING: The character device /dev/vboxdrv does not exist.Apr 17 00:41:06 nixcraft-wks01 vboxwebsrv[1675]:          Please install the virtualbox-dkms package and the appropriateApr 17 00:41:06 nixcraft-wks01 vboxwebsrv[1675]:          headers, most likely linux-headers-generic.Apr 17 00:41:06 nixcraft-wks01 vboxwebsrv[1675]:          You will not be able to start VMs until this problem is fixedApr 17 00:41:06 nixcraft-wks01 vboxwebsrv[1675]: Oracle VM VirtualBox web service Version 6.0.14_UbuntuApr 17 00:41:06 nixcraft-wks01 vboxwebsrv[1675]: (C) 2007-2019 Oracle CorporationApr 17 00:41:06 nixcraft-wks01 vboxwebsrv[1675]: All rights reserved.Apr 17 00:41:06 nixcraft-wks01 vboxwebsrv[1675]: 00:00:00.001759 main     VirtualBox web service 6.0.14_Ubuntu r132055 linux.amd64 (Oct 17 2019 07:24:16) release logApr 17 00:41:06 nixcraft-wks01 vboxwebsrv[1675]: 00:00:00.001764 main     Log opened 2020-04-16T19:11:06.826028000ZApr 17 00:41:06 nixcraft-wks01 vboxwebsrv[1675]: 00:00:00.001765 main     Build Type: releaseApr 17 00:41:06 nixcraft-wks01 vboxwebsrv[1675]: 00:00:00.001768 main     OS Product: LinuxApr 17 00:41:06 nixcraft-wks01 vboxwebsrv[1675]: 00:00:00.001769 main     OS Release: 5.3.0-46-genericApr 17 00:41:06 nixcraft-wks01 vboxwebsrv[1675]: 00:00:00.001770 main     OS Version: #38-Ubuntu SMP Fri Mar 27 17:37:05 UTC 2020Apr 17 00:41:06 nixcraft-wks01 vboxwebsrv[1675]: 00:00:00.001831 main     DMI Product Name: 20QVCTO1WWApr 17 00:41:06 nixcraft-wks01 vboxwebsrv[1675]: 00:00:00.001855 main     DMI Product Version: ThinkPad X1 Extreme 2<sup>nd</sup>Apr 17 00:41:06 nixcraft-wks01 vboxwebsrv[1675]: 00:00:00.001920 main     Host RAM: 31866MB (31.1GB) total, 31409MB (30.6GB) availableApr 17 00:41:06 nixcraft-wks01 vboxwebsrv[1675]: 00:00:00.001924 main     Executable: /usr/lib/virtualbox/vboxwebsrvApr 17 00:41:06 nixcraft-wks01 vboxwebsrv[1675]: 00:00:00.001924 main     Process ID: 1675Apr 17 00:41:06 nixcraft-wks01 vboxwebsrv[1675]: 00:00:00.001925 main     Package type: LINUX_64BITS_GENERIC (OSE)Apr 17 00:41:06 nixcraft-wks01 systemd[1]: Started VirtualBox Web Service.Apr 20 11:44:00 nixcraft-wks01 systemd[1]: Stopping VirtualBox Web Service…Apr 20 11:44:05 nixcraft-wks01 systemd[1]: vboxweb.service: Succeeded.Apr 20 11:44:05 nixcraft-wks01 systemd[1]: Stopped VirtualBox Web Service.Apr 20 11:44:05 nixcraft-wks01 systemd[1]: Starting VirtualBox Web Service…Apr 20 11:44:05 nixcraft-wks01 systemd[1]: vboxweb.service: Can’t open PID file /run/vboxweb.pid (yet?) after start: No such file or directoryApr 20 11:44:05 nixcraft-wks01 systemd[1]: vboxweb.service: Failed with result ‘protocol’.Apr 20 11:44:05 nixcraft-wks01 systemd[1]: Failed to start VirtualBox Web Service.-- Reboot –Apr 20 11:52:48 nixcraft-wks01 systemd[1]: Starting VirtualBox Web Service…Apr 20 11:52:48 nixcraft-wks01 systemd[1]: vboxweb.service: Can’t open PID file /run/vboxweb.pid (yet?) after start: Operation not permittedApr 20 11:52:48 nixcraft-wks01 systemd[1]: vboxweb.service: Failed with result ‘protocol’.Apr 20 11:52:48 nixcraft-wks01 systemd[1]: Failed to start VirtualBox Web Service.-- Reboot –Apr 20 12:17:31 nixcraft-wks01 systemd[1]: Starting VirtualBox Web Service…Apr 20 12:17:31 nixcraft-wks01 systemd[1]: vboxweb.service: Can’t open PID file /run/vboxweb.pid (yet?) after start: Operation not permittedApr 20 12:17:31 nixcraft-wks01 systemd[1]: vboxweb.service: Failed with result ‘protocol’.Apr 20 12:17:31 nixcraft-wks01 systemd[1]: Failed to start VirtualBox Web Service.-- Reboot –Apr 20 12:35:06 nixcraft-wks01 systemd[1]: Starting VirtualBox Web Service…Apr 20 12:35:06 nixcraft-wks01 systemd[1]: vboxweb.service: Can’t open PID file /run/vboxweb.pid (yet?) after start: Operation not permittedApr 20 12:35:06 nixcraft-wks01 systemd[1]: vboxweb.service: Failed with result ‘protocol’.Apr 20 12:35:06 nixcraft-wks01 systemd[1]: Failed to start VirtualBox Web Service.-- Reboot –Apr 21 00:09:56 nixcraft-wks01 systemd[1]: Starting VirtualBox Web Service…Apr 21 00:09:56 nixcraft-wks01 systemd[1]: vboxweb.service: Can’t open PID file /run/vboxweb.pid (yet?) after start: Operation not permitted
حالا می‌توانیم در فضای آنلاین به دنبال این خطاها بگردیم و یا صفحات راهنمای man را بخوانیم و مشکل را رفع کنیم.

جمع‌بندی

در اینجا نحوه چاپ فهرست سرویس‌های ناموفق اجرا شده در لینوکس را با استفاده از فرمان systemctl فرا گرفتیم. برای کسب اطلاعات بیشتر می‌‌توانید به صفحه راهنمای فرمان systemctl مراجعه کنید. منبع: Cyberciti.biz