killall - يقتل العمليات حسب الاسم
ملخص
killall [-Z, --context pattern] [-e, --exact] [-g, --process-group] [-i, --interactive] [-n, --ns
PID] [-o, --older-than TIME] [-q, --quiet] [-r, --regexp] [-s, --signal SIGNAL, -SIGNAL]
[-u, --user user] [-v, --verbose] [-w, --wait] [-y, --younger-than TIME] [-I, --ignore-case]
[-V, --version] [--] name ...
killall -l, --list
killall -V, --version
الوصف
يرسل الأمر killall إشارة إلى جميع العمليات التي تقوم بتشغيل أي من الأوامر المحددة. إذا لم يتم تحديد اسم إشارة، يتم إرسال SIGTERM.
يمكن تحديد الإشارات إما بالاسم (مثل -HUP أو -SIGHUP) أو بالرقم (مثل -1) أو باستخدام الخيار -s.
إذا لم يكن اسم الأمر تعبيرًا عاديًا (الخيار -r) واحتوى على شرطة مائلة (/)، فسيتم تحديد العمليات التي تقوم بتنفيذ هذا الملف المحدد ليتم قتلها، بغض النظر عن اسمها.
يعيد الأمر killall رمز إرجاع صفر إذا تم قتل عملية واحدة على الأقل لكل أمر مدرج، أو لم يتم إدراج أي أوامر وتمت مطابقة عملية واحدة على الأقل لمعايير البحث -u و -Z.
يعيد الأمر killall قيمة غير صفرية بخلاف ذلك.
لا يقتل الأمر killall نفسه أبدًا (ولكن قد يقتل عمليات killall الأخرى).
الخيارات
-e, --exact
يتطلب تطابقًا تامًا للأسماء الطويلة جدًا. إذا كان اسم الأمر أطول من 15 حرفًا، فقد لا يكون الاسم الكامل متاحًا (أي يتم تبديله). في هذه الحالة، سيقتل الأمر killall كل ما يتطابق ضمن أول 15 حرفًا. باستخدام -e، يتم تخطي هذه الإدخالات. يطبع الأمر killall رسالة لكل إدخال يتم تخطيه إذا تم تحديد -v بالإضافة إلى -e.
-I, --ignore-case
قم بإجراء مطابقة غير حساسة لحالة الأحرف لاسم العملية.
-g, --process-group
اقتل مجموعة العمليات التي تنتمي إليها العملية. يتم إرسال إشارة القتل مرة واحدة فقط لكل مجموعة، حتى إذا تم العثور على عمليات متعددة تنتمي إلى نفس مجموعة العمليات.
-i, --interactive
اطلب تأكيدًا بشكل تفاعلي قبل القتل.
-l, --list
عرض قائمة بجميع أسماء الإشارات المعروفة.
-n, --ns
قم بالمطابقة مقابل مساحة اسم PID الخاصة بـ PID المحدد. الافتراضي هو المطابقة مقابل جميع مساحات الأسماء.
-o, --older-than
قم بالمطابقة فقط مع العمليات الأقدم (التي بدأت قبل) الوقت المحدد. يتم تحديد الوقت كعدد عشري متبوعًا بوحدة. الوحدات هي s و m و h و d و w و M و y للثواني والدقائق والساعات والأيام والأسابيع والشهور والسنوات على التوالي.
-q, --quiet
لا تشكو إذا لم يتم قتل أي عمليات.
-r, --regexp
فسر نمط اسم العملية كتعبير عادي موسع POSIX، وفقًا لـ regex(3).
-s, --signal, -SIGNAL
أرسل هذه الإشارة بدلاً من SIGTERM.
-u, --user
اقتل فقط العمليات التي يمتلكها المستخدم المحدد. أسماء الأوامر اختيارية.
-v, --verbose
يُبلغ إذا تم إرسال الإشارة بنجاح.
-V, --version
يعرض معلومات الإصدار.
-w, --wait
ينتظر حتى تنتهي جميع العمليات التي تم إنهاؤها. يتحقق `killall` مرة واحدة في الثانية إذا كانت أي من العمليات التي تم إنهاؤها لا تزال موجودة ويعود فقط إذا لم يبق أي منها. لاحظ أن `killall` قد ينتظر إلى أجل غير مسمى إذا تم تجاهل الإشارة أو لم يكن لها أي تأثير أو إذا ظلت العملية في حالة "عملية مُجمَّدة".
-y, --younger-than
يطابق فقط العمليات التي تكون أحدث (بدأت بعد) الوقت المحدد. يتم تحديد الوقت كرقم عشري ثم وحدة. الوحدات هي s، m، h، d، w، M، y للثواني والدقائق والساعات والأيام والأسابيع والأشهر والسنوات على التوالي.
-Z, --context
يحدد سياق الأمان: يقتل فقط العمليات التي يحتوي سياق الأمان الخاص بها على نمط تعبير عادي ممتد مطابق. يجب أن يسبق ذلك الوسائط الأخرى في سطر الأوامر. يمكن أن تكون أسماء الأوامر اختيارية.
الملفات
/proc موقع نظام ملفات proc
الأخطاء المعروفة
يؤدي القتل عن طريق الملف فقط إلى العمليات القابلة للتنفيذ التي تظل مفتوحة أثناء التنفيذ، أي لا يمكن قتل العمليات القابلة للتنفيذ "غير النقية" بهذه الطريقة.
تحذير: قد لا يكون كتابة `killall name` له التأثير المطلوب على الأنظمة غير المستندة إلى Linux، خاصةً عند القيام بذلك بواسطة مستخدم لديه امتيازات.
لا يكتشف `killall -w` ما إذا كانت العملية تختفي ويتم استبدالها بعملية جديدة بنفس معرف العملية (PID) بين عمليات المسح.
إذا غيرت العمليات اسمها، فقد لا يتمكن `killall` من مطابقتها بشكل صحيح.
لدى `killall` حد لعدد الأسماء التي يمكن تحديدها في سطر الأوامر. هذا الرقم هو حجم عدد صحيح غير موقع مضروب في 8. بالنسبة لمعظم الأنظمة ذات 32 بت، يكون الحد 32، وبالمثل لنظام 64 بت، يكون الحد عادةً 64.
انظر أيضاً
kill(1)، fuser(1)، pgrep(1)، pidof(1)، pkill(1)، ps(1)، kill(2)، regex(3).