خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را
آموزش استفاده از دستور Pidof در لینوکس
Pidof یک ابزار خط فرمان است که به شما امکان می دهد تا process ID یا شناسه فرایند در حال اجرا را پیدا کنید.
در این مقاله نحوه استفاده از دستور pidof لینوکس را توضیح می دهیم.
syntax کلی دستور pidof به صورت زیر می باشد:
دستور pidof می تواند چندین نام را به عنوان آرگومان بپذیرد(حتی می تواند هیچ آرگومانی را به دستور پاس ندهید)، اما معمولاً فقط یک نام به عنوان آرگومان به pidof داده می شود.
هنگامی که بدون هیچ گزینه ای دستورpidof فراخوانی و اجرا می شود، دستورpidof ، PID همه برنامه های در حال اجرا را که با نام داده مطابقت دارند نمایش می دهد.
به عنوان مثال برای یافتن PID یک SSH server باید دستور زیر را اجرا کنید:
اگر فرآیندهای در حال اجرا با نام sshd وجود داشته باشد، PID آنها روی صفحه، نمایش داده می شود و اگر چیزی پیدا نکند، صفحه خالی خواهد بود.
وقتی حداقل یک برنامه در حال اجرا با نام درخواستی مطابقت داشته باشد pidof 0 را برمی گرداند. در غیر این صورت، کد خروجی 1 خواهد بود. این ماجرا می تواند هنگام نوشتن اسکریپت های shell کارگشا باشد.
برای اطمینان از اینکه فقط PID های برنامه ای که در جستجوی آن هستید نمایش داده می شود، از مسیر کامل برنامه به عنوان آرگومان استفاده کنید. به عنوان مثال، اگر دو برنامه در حال اجرا با نام یکسان در دو دایرکتوری مختلف داشته باشید pidof، PID های هر دو برنامه در حال اجرا را نشان می دهد. به طور پیش فرض، تمام PID برنامه های در حال اجرا که با نام داده شده منطبق باشند، نمایش داده می شود. از گزینه s- برای مجبور کردن pidof برای نمایش تنها یک PID استفاده کنید:
گزینه o- به شما امکان می دهد یک فرآیند با یک PID معین را از خروجی حذف کنید:
هنگامی که pidof با گزینه o- فراخوانی و اجرا می شود، می توانید از یک PID ویژه به نام PPID% استفاده کنید که نمایانگر shell اسکریپت است.
برای نمایش فقط PIDهای فرآیندهایی که در دایرکتوری root در حال اجرا هستند، از گزینه c- استفاده کنید.
فرض کنید مرورگر فایرفاکس unresponsive شده و شما باید فرآیندهای فایرفاکس را از ببندید. ابتدا PID ها را با pidof پیدا کنید:
این دستور تمام فرآیندهای فایرفاکس را نمایش می دهد:
هنگامی که PID های پردازش های firefox را یافتید، سیگنال SIGTERM را برای پایان دادن به همه آنها ارسال کنید:
حتی بصورت زیر هم می توانید برای بستن و خامه دادن به یک فرآیند در لینوکس اقدام کنید:
در این مقاله نحوه استفاده از دستور pidof لینوکس را توضیح می دهیم.
نحوه استفاده از دستور pidof
پیاده سازی های مختلفی از pidof برای توزیع های مبتنی بر Red Hat و Debian وجود دارد. در توزیع های Red Hat، دستور pidof بخشی از پکیج procps-ng است، در حالی که در Debian، بخشی از sysvinit-utils است. ما گزینه هایی را که برای هر دو پیاده سازی مشترک هستند را بررسی خواهیم کرد.syntax کلی دستور pidof به صورت زیر می باشد:
pidof [OPTIONS] PROGRAM_NAME
دستور pidof می تواند چندین نام را به عنوان آرگومان بپذیرد(حتی می تواند هیچ آرگومانی را به دستور پاس ندهید)، اما معمولاً فقط یک نام به عنوان آرگومان به pidof داده می شود.
هنگامی که بدون هیچ گزینه ای دستورpidof فراخوانی و اجرا می شود، دستورpidof ، PID همه برنامه های در حال اجرا را که با نام داده مطابقت دارند نمایش می دهد.
به عنوان مثال برای یافتن PID یک SSH server باید دستور زیر را اجرا کنید:
pidof sshd
اگر فرآیندهای در حال اجرا با نام sshd وجود داشته باشد، PID آنها روی صفحه، نمایش داده می شود و اگر چیزی پیدا نکند، صفحه خالی خواهد بود.
4382 4368 811
وقتی حداقل یک برنامه در حال اجرا با نام درخواستی مطابقت داشته باشد pidof 0 را برمی گرداند. در غیر این صورت، کد خروجی 1 خواهد بود. این ماجرا می تواند هنگام نوشتن اسکریپت های shell کارگشا باشد.
برای اطمینان از اینکه فقط PID های برنامه ای که در جستجوی آن هستید نمایش داده می شود، از مسیر کامل برنامه به عنوان آرگومان استفاده کنید. به عنوان مثال، اگر دو برنامه در حال اجرا با نام یکسان در دو دایرکتوری مختلف داشته باشید pidof، PID های هر دو برنامه در حال اجرا را نشان می دهد. به طور پیش فرض، تمام PID برنامه های در حال اجرا که با نام داده شده منطبق باشند، نمایش داده می شود. از گزینه s- برای مجبور کردن pidof برای نمایش تنها یک PID استفاده کنید:
pidof -s program_name
گزینه o- به شما امکان می دهد یک فرآیند با یک PID معین را از خروجی حذف کنید:
pidof -o pid program_name
هنگامی که pidof با گزینه o- فراخوانی و اجرا می شود، می توانید از یک PID ویژه به نام PPID% استفاده کنید که نمایانگر shell اسکریپت است.
برای نمایش فقط PIDهای فرآیندهایی که در دایرکتوری root در حال اجرا هستند، از گزینه c- استفاده کنید.
sudo pidof -c pid program_name
چند مثال استفاده از pidof
مثال زیر نحوه استفاده از دستور pidof را در ترکیب با دستور kill برای خاتمه دادن به یک برنامه نشان می دهد.فرض کنید مرورگر فایرفاکس unresponsive شده و شما باید فرآیندهای فایرفاکس را از ببندید. ابتدا PID ها را با pidof پیدا کنید:
pidof firefox
این دستور تمام فرآیندهای فایرفاکس را نمایش می دهد:
2551 2514 1963 1856 1771
هنگامی که PID های پردازش های firefox را یافتید، سیگنال SIGTERM را برای پایان دادن به همه آنها ارسال کنید:
sudo kill -9 2551 2514 1963 1856 1771
حتی بصورت زیر هم می توانید برای بستن و خامه دادن به یک فرآیند در لینوکس اقدام کنید:
sudo kill -9 $(pidof firefox)
نمایش دیدگاه ها (0 دیدگاه)
دیدگاه خود را ثبت کنید: