ساده ترین راه برای کشتن فرآیندها با استفاده از لینوکس
روشهای مختلفی برای کشتن فرآیندها با استفاده از لینوکس وجود دارد. به عنوان مثال، من قبلا یک راهنمای نشان دادم که " 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، استفاده از مانیتور سیستم و فرمان بالا است.
برای شما مناسب است که انتخاب کنید کدام یک برای شما مناسب است.