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

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

زهرا عزتی

این مقاله اصول دستور pkill لینوکس را در بر می گیرد. با ما در شتابان هاست همراه باشيد.

pkill یک ابزار خط فرمان است که بر اساس معیارهای داده شده ، سیگنالهایی را به فرآیندهای یک برنامه در حال اجرا ارسال می کند. این processes را می توان با نام کامل یا جزئی آنها ، کاربری که فرایند یا سایر ویژگی ها را مشخص می کند ، مشخص کرد. دستور pkill بخشی از بسته procps (یا procps-ng) است که تقریباً در تمام توزیع های لینوکس از پیش نصب شده است.

نحوه استفاده از دستور pkill

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

pkill [OPTIONS] <PATTERN>

pkill سیگنال ۱۵ (TERM) را به PID های همه برنامه های در حال اجرا که با نام مشخص شده مطابقت دارند ، می فرستد. به عنوان مثال ، برای متوقف کردن تمام مراحل Firefox ، از دستور :

pkill -9 firefox

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

برای ارسال یک سیگنال متفاوت به فرآیندهای همسان ، دستور pkill را با گزینه –signal نصب کنید ، و به دنبال آن عدد، علامت یا نام سیگنال نمادین است؛ راه دیگر برای ارسال سیگنال اجرای pkill است که به دنبال آن نام سیگنال یا شماره پیشوند توسط یک hyphen (-) آورده شده است.

از لیست kill -l برای لیست تمام سیگنال های موجود استفاده کنید.

متداول ترین سیگنال ها عبارتند از:

  • ۱ (HUP:برای دانلود مجدد یک فرآیند.
  • ۹ (KILL:برای قطع یک فرايند.
  • ۱۵ (TERM: متوقف کردن روند کار

سیگنال ها می توانند به سه روش مختلف مشخص شوند:

با استفاده از شماره (به عنوان مثال ، -۱)
با پیشوند “SIG” (مثلاً -SIGHUP)
بدون پیشوند “SIG” (مثلاً-HUP).
به عنوان مثال ، برای دانلود مجدد فرآیندهای Nginx شما اجرا می کنید:

pkill -HUP nginx

 

pkill از عبارات منظم برای مطابقت با نام پردازشها استفاده می کند. همیشه ایده خوبی است که از دستور pgrep برای چاپ مراحل همسان قبل از ارسال سیگنال به آنها استفاده کنید. به عنوان مثال ، لیست تمام فرایندهای حاوی “ssh” در نام آنها:

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

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

pkill ‘^ssh$’

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

pkill -9 -f "ping 8.8.8.8"

از گزینه -u برای گفتن pkill  مطابقت با فرآیندهای یک کاربر خاص استفاده کنید:

pkill -u mark

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

pkill -u mark,danny

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

pkill -9 -u mark gnome

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

به عنوان مثال ، برای از بین بردن آخرین صفحه ایجاد شده:

pkill -9 -n screen

دستور pkill برای ارسال سیگنال به برنامه های در حال اجرا بر اساس معیارهای مختلف استفاده می شود. ما را در شتابان هاست دنبال كنيد.

برچسب ها: دستورات لينوكس