كتيبات سطر الأوامر

Man » دليل pkill عبر الإنترنت - وثائق مفصلة عبر الإنترنت لصفحة دليل pkill

🌍
pgrep، pkill، pidwait - البحث عن العمليات أو إرسال إشارة إليها أو انتظارها بناءً على الاسم وخصائص أخرى

ملخص

pgrep [خيارات] النمط
pkill [خيارات] النمط
pidwait [خيارات] النمط

الوصف

يبحث الأمر pgrep في العمليات قيد التشغيل حاليًا ويعرض معرّفات العمليات التي تطابق معايير التحديد إلى stdout. يجب أن تتطابق جميع المعايير. على سبيل المثال،

$ pgrep -u root sshd

سيعرض فقط العمليات المسماة sshd والتابعة للمستخدم root. من ناحية أخرى،

$ pgrep -u root,daemon

سيعرض العمليات التابعة للمستخدم root أو daemon.

يرسل الأمر pkill الإشارة المحددة (بشكل افتراضي SIGTERM) إلى كل عملية بدلاً من عرضها في stdout.

سيقوم الأمر pidwait بانتظار كل عملية بدلاً من عرضها في stdout.

الخيارات

-signal
--signal signal
يحدد الإشارة التي سيتم إرسالها إلى كل عملية متطابقة. يمكن استخدام القيمة العددية أو الاسم الرمزي للإشارة. في وضع pgrep أو pidwait، يمكن استخدام الخيار الطويل فقط وليس له تأثير إلا عند استخدامه جنبًا إلى جنب مع --require-handler لتصفية العمليات التي تحتوي على معالج إشارة موجود في مساحة المستخدم لإشارة معينة.

-c، --count
يكبت الإخراج العادي؛ وبدلاً من ذلك، يعرض عدد العمليات المطابقة. عندما لا تتطابق القيمة مع أي شيء، على سبيل المثال، ترجع صفرًا، فسيعرض الأمر قيمة غير صفرية.

-d، --delimiter delimiter
يحدد السلسلة المستخدمة للفصل بين كل معرّف عملية في الإخراج (افتراضيًا، سطر جديد). (pgrep فقط).

-e، --echo
يعرض اسم ومعرّف العملية التي يتم قتلها. (pkill فقط).

-f، --full
عادةً ما تتم مطابقة النمط فقط مع اسم العملية. عند تعيين -f، يتم استخدام سطر الأوامر الكامل.

-g، --pgroup pgrp,...
يطابق فقط العمليات الموجودة في معرّفات مجموعة العمليات المدرجة. يتم ترجمة مجموعة العمليات 0 إلى مجموعة عمليات pgrep أو pkill أو pidwait.

-G، --group gid,...
يطابق فقط العمليات التي يكون معرف المجموعة الحقيقي الخاص بها مدرجًا. يمكن استخدام القيمة العددية أو الرمزية.

-i، --ignore-case
يطابق العمليات بشكل غير حساس لحالة الأحرف.

-l، --list-name
يعرض اسم العملية بالإضافة إلى معرّف العملية. (pgrep فقط).

-a، --list-full
يعرض سطر الأوامر الكامل بالإضافة إلى معرّف العملية. (pgrep فقط).

-n، --newest
يحدد فقط أحدث (الأكثر بدءًا مؤخرًا) من العمليات المطابقة.

-o، --oldest
يحدد فقط أقدم (الأقل بدءًا مؤخرًا) من العمليات المطابقة.

-O، --older ثواني
حدد العمليات الأقدم من عدد الثواني المحدد.

-P، --parent ppid,...
طابق فقط العمليات التي يكون معرف العملية الأصل لها مدرجًا.

-s، --session sid,...
طابق فقط العمليات التي يكون معرف جلسة العملية لها مدرجًا. يتم ترجمة معرف الجلسة 0 إلى معرف جلسة pgrep أو pkill أو pidwait.

-t، --terminal term,...
طابق فقط العمليات التي يكون الجهاز الطرفي المسيطر عليها مدرجًا. يجب تحديد اسم الجهاز الطرفي بدون البادئة "/dev/".

-u، --euid euid,...
طابق فقط العمليات التي يكون معرف المستخدم الفعلي لها مدرجًا. يمكن استخدام القيمة الرقمية أو الرمزية.

-U، --uid uid,...
طابق فقط العمليات التي يكون معرف المستخدم الحقيقي لها مدرجًا. يمكن استخدام القيمة الرقمية أو الرمزية.

-v، --inverse
يعكس المطابقة. يُستخدم هذا الخيار عادةً في سياق pgrep أو pidwait. في سياق pkill، يتم تعطيل الخيار القصير لتجنب الاستخدام العرضي للخيار.

-w، --lightweight
يعرض جميع معرفات مؤشرات الترابط بدلاً من معرفات العمليات في سياق pgrep أو pidwait. في سياق pkill، يتم تعطيل هذا الخيار.

-x، --exact
طابق فقط العمليات التي تتطابق أسماؤها (أو أسطر الأوامر إذا تم تحديد -f) تمامًا مع النمط.

-F، --pidfile ملف
اقرأ معرفات العمليات من الملف. هذا الخيار أكثر فائدة لـ pkill أو pidwait من pgrep.

-L، --logpidfile
فشل إذا لم يتم قفل ملف معرف العملية (انظر -F).

-r، --runstates D,R,S,Z,...
طابق فقط العمليات التي تتطابق مع حالة العملية.

-A، --ignore-ancestors
تجاهل جميع العمليات الأصل لـ pgrep أو pkill أو pidwait. على سبيل المثال، يمكن أن يكون هذا مفيدًا عند الترقية باستخدام sudo أو أدوات مماثلة.

-H، --require-handler
طابق فقط العمليات التي تحتوي على معالج إشارة مساحة المستخدم موجود للإشارة التي سيتم إرسالها.

--cgroup اسم,...
طابق الاسم المحدد لمجموعة التحكم (cgroup) v2. راجع cgroups(8).

--ns معرف
طابق العمليات التي تنتمي إلى نفس مساحات الأسماء. مطلوب تشغيل كجذر لمطابقة العمليات من مستخدمين آخرين. راجع --nslist لمعرفة كيفية تحديد مساحات الأسماء التي يجب مطابقتها.

--nslist اسم,...
طابق فقط مساحات الأسماء المحددة. مساحات الأسماء المتاحة: ipc و mnt و net و pid و user و uts.

-q، --queue قيمة
استخدم sigqueue(3) بدلاً من [kill]({filename}../../kill)(2)، وتُستخدم قيمة الوسيطة لتحديد عدد صحيح ليتم إرساله مع الإشارة. إذا قامت العملية المستقبلة بتثبيت معالج لهذه الإشارة باستخدام العلامة SA_SIGINFO في sigaction(2)، فيمكنها الحصول على هذه البيانات عبر حقل si_value في بنية siginfo_t.

-V، --version
اعرض معلومات الإصدار واخرج.

-h، --help
اعرض المساعدة واخرج.

المعاملات

نمط
يحدد تعبيرًا عاديًا موسعًا للمطابقة مع أسماء العمليات أو أسطر الأوامر.

أمثلة

مثال 1: ابحث عن معرف العملية للعملية المسماة:

$ pgrep -u root named

مثال 2: اجعل syslog يعيد قراءة ملف التكوين الخاص به:

$ pkill -HUP syslogd

مثال 3: قدم معلومات مفصلة عن جميع عمليات xterm:

$ ps -fp $(pgrep -d, -x xterm)

مثال 4: اجعل جميع عمليات chrome تعمل بشكل أفضل:

$ renice +4 $(pgrep chrome)

حالة الخروج

0     تمت مطابقة عملية واحدة أو أكثر للمعايير. بالنسبة لكل من `pkill` و `pidwait`، يجب أيضًا أن تتمكن عملية واحدة أو أكثر من استقبال الإشارة أو انتظارها بنجاح.
1     لم تتم مطابقة أي عملية أو لم يتمكن أي منها من استقبال الإشارة.
2     خطأ في بناء الجملة في سطر الأوامر.
3     خطأ قاتل: نفاد الذاكرة، إلخ.

ملاحظات

اسم العملية المستخدم للمطابقة يقتصر على الـ 15 حرفًا الموجودة في إخراج /proc/pid/stat. استخدم الخيار -f للمطابقة مع سطر الأوامر الكامل، /proc/pid/cmdline. قد لا يكون للعمليات الفرعية نفس اسم العملية الموجودة في العملية الأصل، ولكن سيكون لها نفس سطر الأوامر.

لن يقوم كل من pgrep أو pkill أو pidwait بالإبلاغ عن نفسه كمطابقة.

سيفشل الخيار -O أو --older بصمت إذا تم تركيب /proc باستخدام الخيار subset=pid.

الأخطاء

لا يمكن دمج الخيارات -n و -o و -v. أخبرني إذا كنت بحاجة إلى القيام بذلك.

يتم الإبلاغ عن العمليات المعلقة (Defunct).

يتطلب `pidwait` استدعاء النظام `pidfd_open(2)` الذي ظهر لأول مرة في Linux 5.3.

انظر أيضًا

ps(1)، regex(7)، signal(7)، sigqueue(3)، killall(1)، skill(1)، kill(1)، kill(2)، cgroups(8).

المؤلف

كيتيل تورجريم هوم

الإبلاغ عن الأخطاء

يرجى إرسال تقارير الأخطاء إلى _