دستور Pidof در لینوکس

دستور Pidof در لینوکس

نیلوفر موسوی

pidof یک ابزار خط فرمان است که به شما امکان می دهد شناسه فرایند یک برنامه در حال اجرا را پیدا کنید. در این مقاله نحوه استفاده از دستور pidof در لینوکس را توضیح خواهیم داد.

در ادامه با ما در شتابان هاست همراه باشید.

نحوه استفاده از دستور pidof:

توزیع های مختلفی از pidof برای توزیع های مبتنی بر Red Hat و debian وجود دارد. در توزیع Red Hat ، دستور pidof بخشی از بسته procps-ng است ، در حالی که بر روی Debian ، بخشی از ابزارهای sysvinit است. ما گزینه های معمول هر دو  را مرور خواهیم کرد.

ترکیب دستور pidof به شرح زیر است:

pidof [OPTIONS] PROGRAM_NAMEg

این دستور به این صورت است که می تواند هیچ نامی را نپذیرد یا نام هایی را را به عنوان argument قبول کند ، اما به طور معمول ، شما فقط می توانید یک نام را به pidof منتقل می کنید.

در صورت عدم استفاده از هر گزینه ، pidof ، PID همه برنامه های در حال اجرا را که با نام مشخص شده مطابقت دارند ، چاپ می کند. به عنوان مثال ، برای پیدا کردن PID سرور SSH ، باید دستور زیر را اجرا نمایید:

pidof sshd $

اگر فرآیندهای در حال اجرا با نام های sshd مطابق داشته باشد ، PID های آنها روی صفحه نمایش داده می شود. در صورت عدم  مطابقت آنها ، خروجی به صورت خالی خواهد بود.

خروجی:  ۴۳۸۲ ۴۳۶۸ ۸۱۱

وقتی حداقل یک برنامه در حال اجرا با نام درخواست شده مطابقت داشته باشد ، pidof  به ۰ باز می گردد. در غیر این صورت ، کد خروجی ۱ است. این می تواند در استفاده از shell scripts ، مفید باشد.

برای اینکه مطمئن شوید که فقط PID های برنامه مورد نظر شما نمایش داده می شود ، از عنوان کامل برنامه به عنوان argument استفاده کنید.

به عنوان مثال ، اگر دو برنامه در حال اجرا با همان نام در دو فهرست مختلف قرار داشته باشد ،pidof در آن صورت PID های هر دو برنامه در حال اجرا را نشان خواهد داد.

به طور پیش فرض ، کلیه PID های برنامه های در حال اجرا که مطابقت داده می شوند به نمایش در می آیند. برای اینکه pidof را وادار به نمایش دادن تنها یک PID کنید از گزینه s- استفاده کنید:

pidof -s program_name $

گزینه o- به شما این امکان را می دهد که یک فرایند با PID معین را از خروجی دستور به دست آورید:

pidof -o pid program_name $

هنگامی که pidof با گزینه o- فراخوانی شد ، می توانید از PID مخصوصی به نام PPID ٪ استفاده کنید که نشان دهنده calling shell یا اshell script است.

برای بازگشت PID فرایند های در حال انجام با همان فهرست root ، می توانید از گزینه c- استفاده کنید.

این گزینه فقط روی pidof هایی که به عنوان کاربر root یا sudo باشند اجرا شده می شود:

pidof -c pid program_name $

مثال استفاده از دستور pidof:
مثال زیر نحوه استفاده از دستور pidof را در ترکیب با دستور kill به عنوان خاتمه برنامه نشان می دهد.

اگر در نظر بگیریم که مرورگر فایرفاکس پاسخگو نبوده است ، در این صورت برای انجام فرایند های فایرفاکس به دستور kill احتیاج دارید. ابتدا PID ها را با pidof پیدا کنید:

pidof firefox $

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

خروجی:  ۲۵۵۱ ۲۵۱۴ ۱۹۶۳ ۱۸۵۶ ۱۷۷۱

وقتی که می دانید فایرفاکس PID ها را پردازش میکند ، می توانید سیگنال SEGTERM را به منظور پایان دادن به همه آنها ارسال کنید:

sudo kill -9 2551 2514 1963 1856 1771 $

همچنین می توانید از عبارت تعویض دستور $ (…) استفاده کنید تا برنامه در یک دستور خاتمه یابد:

(sudo kill -9 $(pidof firefox $

نتیجه:
از دستور pidof برای یافتن PID های یک برنامه خاص در حال اجرا استفاده می شود.

pidof یک دستور ساده است که گزینه های زیادی ندارد. معمولاً فقط با نام برنامه مورد نظر خود می توانید pidof  را فراخوانی کنید.

 

امیدواریم از این مقاله لذت برده باشید.

برچسب ها: Pidof

ارسال دیدگاه جدید