چگونه فرآیند های لیست و کشتن با استفاده از دستورات PGrep و PKill

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

روشهای مختلفی برای کشتن فرآیندها با استفاده از لینوکس وجود دارد. به عنوان مثال، من قبلا یک راهنمای نشان دادم که " 5 راه برای کشتن یک برنامه لینوکس " و من یک راهنمای بیشتر به نام " کشتن هر برنامه با یک فرمان تنها " نوشته شده است.

به عنوان بخشی از "5 راه برای کشتن یک برنامه لینوکس"، شما را به فرمان PKill معرفی کردم و در این راهنما، من در مورد استفاده و سوئیچ های موجود برای فرمان PKill گسترش خواهم داد.

PKill

فرمان PKill به شما این امکان را می دهد که برنامه را به سادگی با تعیین نام مشخص کنید. به عنوان مثال، اگر می خواهید تمام پایانه های باز با همان شناسه فرآیند را بکشید، می توانید موارد زیر را تایپ کنید:

اصطلاح pkill

شما می توانید شمارش تعداد فرآیندهای کشته شده را با ارسال کلید -c به صورت زیر بازگردانید:

pkill -c

خروجی به سادگی تعداد پروسه های کشته شده است.

برای کشتن تمام فرآیندها برای یک کاربر خاص دستور زیر را اجرا کنید:

pkill -u

برای پیدا کردن شناسه موثر کاربر برای استفاده از دستور ID به شرح زیر است:

id -u

مثلا:

id -u gary

شما همچنین می توانید تمامی فرآیندها را برای یک کاربر خاص با استفاده از شناسه واقعی کاربر به صورت زیر بکشید:

pkill -U

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

برای پیدا کردن شناسه کاربر واقعی، از دستور زیر استفاده کنید.

id -ru

شما همچنین می توانید با استفاده از دستورات زیر تمام برنامه ها را در یک گروه خاص بکشید

pkill-g pkill -G

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

برای پیدا کردن شناسه گروه برای یک کاربر، دستور زیر را اجرا کنید:

id -g

برای پیدا کردن شناسه گروه واقعی با استفاده از دستور ID زیر:

id -rg

شما می توانید تعداد فرآیندهای pkill را به طور واقعی از بین ببرید. به عنوان مثال کشتن همه فرآیندهای کاربر احتمالا چیزی نیست که بخواهید انجام دهید. اما شما می توانید آخرین فرآیند خود را با اجرای دستور زیر انجام دهید.

pkill -n

به جای اینکه قدیمیترین برنامه را اجرا کنید، دستور زیر را اجرا کنید:

pkill -o

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

pkill -u فایرفاکس

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

pkill -P

شما همچنین می توانید تمامی فرآیندها را با یک شناسه جلسه خاص با اجرای دستور زیر از بین ببرید:

pkill -s

در نهایت، شما همچنین می توانید تمام فرآیندهای اجرا شده در یک نوع ترمینال خاص را با اجرای دستور زیر از بین ببرید:

pkill -t

اگر می خواهید بسیاری از فرآیندها را بکشید، می توانید یک فایل با استفاده از ویرایشگر مانند nano باز کنید و هر فرآیند را در یک خط جداگانه وارد کنید. پس از ذخیره فایل، می توانید دستور زیر را اجرا کنید تا فایل را بخواند و هر فرآیند ذکر شده درون آن را بکشد.

pkill -F / path / to / file

فرمان Pgrep

قبل از اجرای فرمان pkill ارزش دیدن این است که اثر فرمان pkill با اجرای دستور pgrep چیست.

دستور pgrep از همان سوئیچ ها به عنوان فرمان pkill و چند عدد اضافی استفاده می کند.

خلاصه

این راهنما به شما نشان داد که چگونه با استفاده از فرمان pkill فرآیندهای را بکشید. لینوکس قطعا دارای گزینه هایی برای فرآیندهای کشتن از جمله killall، kill، xkill، استفاده از مانیتور سیستم و فرمان بالا است.

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