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

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

علی مرادی

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

دستور pgrep بخشی از بسته های procps (یا procps-ng) است که تقریباً در تمام توزیع های لینوکس از پیش نصب شده است.

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

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

نحو دستور pgrep به شرح زیر است:

pgrep [OPTIONS] <PATTERN>

تطبیق <PATTERN> با استفاده از عبارات منظم گسترده مشخص شده است.

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

pgrep ssh

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

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

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

pgrep چاپ هر شناسه فرآیند را در یک خط جدید چاپ می کند. گزینه -d به شما امکان می دهد تا تعیین کننده متفاوت را مشخص کنید. به عنوان مثال ، اگر می خواهید از فضایی به عنوان تعیین کننده استفاده کنید ، وارد کنید:

' ' pgrep ssh -d

خروجی:

۱۰۳۹ ۲۲۵۷ ۶۸۵۰ ۳۱۲۷۹

گزینه -l به pgrep می دهد تا نام فرایند را به همراه شناسه آن نشان دهد:

pgrep ssh -l

pgrep برای انجام عملیات جستجو از عبارات منظم استفاده می کند و تمام فرآیندهای موجود در “ssh” را در نام آنها ذکر می کند:

۱۰۳۹ sshd
۲۲۵۷ ssh-agent
۶۸۵۰ ssh
۳۱۲۷۹ ssh-agent

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

pgrep '^ssh$' -l

خروجی:

۶۸۵۰ ssh

به طور پیش فرض ، pgrep فقط با نام فرایند مطابقت دارد. از گزینه -f استفاده می شود از دستورات در برابر لیست کامل argument ها استفاده می کند.

pgrep -f ssh

از گزینه -u برای تاکید به pgrep برای نمایش فرایندهای توسط یک کاربر خاص استفاده کنید:

pgrep -u root

برای مشخص کردن چندین کاربر ، نام آنها را با کاما از هم جدا کنید:

pgrep -u root,mark

همچنین می توانید گزینه ها و الگوهای جستجو را با هم ترکیب کنید. به عنوان مثال برای چاپ تمام مراحل و نامهای آنها که تحت “mark” کاربری قرار دارند و حاوی “gnome” در نامهای آنهاست:

pgrep -l -u mark gnome

برای نمایش حداقل کمترین مراحل اخیر (قدیمی ترین) یا جدیدترین (جدیدترین) مراحل شروع ، از گزینه -n (برای جدیدترین) یا گزینه -o (برای قدیمی ترین) استفاده کنید.

به عنوان مثال ، برای یافتن جدیدترین فرآیند شروع شده توسط “mark” کاربر ، وارد کنید:

pgrep -lnu mark

همانطور که از مثال بالا می بینید ، همچنین می توانید گزینه ها را بدون فاصله بین آنها و با یک ترد واحد ترکیب کنید.

برای معکوس کردن تطبیق ، یعنی برای نمایش فقط فرآیندهای مطابق با معیارهای مشخص شده ، از گزینه -v استفاده کنید. دستور زیر تمام فرایندهایی را که توسط “mark” توسط کاربر اجرا نمی شوند چاپ می کند:

pgrep -v -u mark

گزینه -c به pgrep می گوید که فقط تعداد فرآیندهای تطبیق را چاپ کند. به عنوان مثال برای یافتن فرایندهایی که به عنوان “mark” اجرا می شوند ، وارد کنید:

pgrep -c -u mark

جمع بندی:

دستور pgrep برای یافتن PID های یک برنامه در حال اجرا بر اساس معیارهای مختلف استفاده می شود.

برای کسب اطلاعات بیشتر در مورد دستور pgrep  در ترمینال خود man pgrep را تایپ کنید.

اگر هر گونه سؤال یا بازخورد دارید ، می توانید نظر خود را اعلام کنید.

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

ما رو تو شتابان هاست دنبال کنید. 🙂

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

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