'\" t .\" Title: kill .\" Author: [see the "AUTHOR(S)" section] .\" Generator: Asciidoctor 2.0.26 .\" Date: 2026-05-18 .\" Manual: أوامر المستخدم .\" Source: util-linux 2.42.1 .\" Language: English .\" .TH "KILL" "1" "2026-05-18" "util\-linux 2.42.1" "أوامر المستخدم" .ie \n(.g .ds Aq \(aq .el .ds Aq ' .ss \n[.ss] 0 .nh .ad l .de URL \fI\\$2\fP <\\$1>\\$3 .. .als MTO URL .if \n[.g] \{\ . mso www.tmac . am URL . ad l . . . am MTO . ad l . . . LINKSTYLE blue R < > .\} .SH "الاسم" kill \- إنهاء عملية .SH "موجز" .sp \fBkill\fP [\fB\-\fP\fIإشارة\fP|\fB\-s\fP \fIإشارة\fP|\fB\-p\fP] [\fB\-q\fP \fIقيمة\fP] [\fB\-a\fP] [\fB\-\-timeout\fP \fIمللي_ثانية\fP \fIإشارة\fP] [\fB\-\-\fP] \fIPID\fP|\fIPID\fP:_inode_واصف_الملف_|\fIاسم\fP.\|.\|. .sp \fBkill\fP [\fB\-\fP\fIإشارة\fP|\fB\-s\fP \fIإشارة\fP] \fIPID\fP|\fIPID\fP:_inode_واصف_الملف_.\|.\|. .sp \fBkill\fP \fB\-l\fP [\fIرقم\fP|\f(CR0x\fP\fIsigmask\fP] | \fB\-L\fP .sp \fBkill\fP \fB\-d\fP \fIمعرّف\-العملية\fP .SH "الوصف" .sp يُرسل الأمر \fBkill\fP الـ \fIsignal\fP المحددة إلى العمليات أو مجموعات العمليات المحددة. .sp إذا لم تُحدد إشارة، تُرسل إشارة \fBTERM\fP. الإجراء المبدئي لهذه الإشارة هو إنهاء العملية. يُفضل استخدام هذه الإشارة على إشارة \fBKILL\fP (رقم 9)، حيث قد تُثبّت العملية معالجاً لإشارة TERM لتنفيذ خطوات التنظيف قبل الإنهاء بشكل منظم. إذا لم تنتهِ العملية بعد إرسال إشارة \fBTERM\fP، فيمكن حينها استخدام إشارة \fBKILL\fP؛ كُن على علم بأن الإشارة الأخيرة لا يمكن اعتراضها، ولذا لا تمنح العملية المستهدفة الفرصة لإجراء أي تنظيف قبل الإنهاء. .sp تمتلك معظم الـ صدفات الحديثة أمر \fBkill\fP داخلياً، مع طريقة استخدام مشابهة للأمر الموصوف هنا. تُعد الخيارات \fB\-\-all\fP و \fB\-\-pid\fP و \fB\-\-queue\fP، وإمكانية تحديد العمليات باسم الأمر، امتدادات محلية. .sp إذا كانت الـ \fIsignal\fP هي 0، فلا تُرسل إشارة فعلية، ولكن يظل التحقق من الأخطاء جارياً. .SH "المعطيات" .sp يمكن أن تكون قائمة العمليات المراد إرسال الإشارة إليها خليطاً من الأسماء ومعرّفات العمليات PIDs. .sp \fIمعرّف\-العملية\fP .RS 4 يمكن التعبير عن كل \fIمعرّف\-العملية\fP بإحدى الطرق التالية: .sp \fIn\fP .RS 4 حيث \fIn\fP أكبر من 0. تُرسل الإشارة إلى العملية ذات المعرف \fIn\fP. .RE .sp \fB0\fP .RS 4 تُرسل الإشارة إلى كافة العمليات في مجموعة العمليات الحالية. .RE .sp \fB\-1\fP .RS 4 تُرسل الإشارة إلى كافة العمليات التي تملك معرّف PID أكبر من 1. .RE .sp \fB\-\fP\fIn\fP .RS 4 حيث \fIn\fP أكبر من 1. تُرسل الإشارة إلى كافة العمليات في مجموعة العمليات \fIn\fP. عند إعطاء وسيط بصيغة \*(Aq\-n\*(Aq ويُقصد به الإشارة لمجموعة عمليات، يجب إما تحديد إشارة أولاً، أو أن يُسبق الوسيط بخيار \*(Aq\-\-\*(Aq، وإلا فسيُعتبر بمثابة الإشارة المطلوب إرسالها. .RE .RE .sp \fIPID\fP:_inode_واصف_الملف_ .RS 4 يمكن الإشارة إلى العملية من خلال معرفها (\fIpid\fP) بالإضافة إلى رقم inode الخاص بواصف ملف العملية (\fIpidfd_inode\fP) بالتنسيق (pid:pidfd_inode)، لتعريفها بشكل فريد وإرسال الإشارات دون حدوث سباق. يعمل هذا فقط مع الخيارات \-s، و \-\-signal، و \-\fIإشارة\fP. يتطلب إصدار النواة 6.9 وما بعده. .RE .sp \fIاسم\fP .RS 4 تُرسل الإشارة إلى كافة العمليات التي استُدعيت باستخدام هذا الـ \fIاسم\fP. .RE .SH "الخيارات" .sp \fB\-s\fP، \fB\-\-signal\fP \fIالإشارة\fP .RS 4 الإشارة المراد إرسالها. يمكن إعطاؤها كاسم أو رقم. .RE .sp \fB\-l\fP، \fB\-\-list\fP [\fIرقم\fP|\f(CR0x\fP\fIsigmask\fP] .RS 4 اطبع قائمة بأسماء الإشارات، أو حوّل رقم الإشارة المعطى إلى اسم، أو حوّل قناع الإشارة المعطى إلى أسماء. يمكن العثور على الإشارات في \fI/usr/include/linux/signal.h\fP. .sp .if n .RS 4 .nf .fam C $ ps s $$ UID\& PID\& PENDING\& BLOCKED\& IGNORED\& CAUGHT STAT TTY\& TIME COMMAND 1000 1608069 0000000000000000 0000000000000002 0000000000384000 0000000008013003 Ss\& pts/44\& 0:02 zsh $ kill \-l 0x0000000000384000 TERM TSTP TTIN TTOU .fam .fi .if n .RE .sp إذا لم يُعطَ \fBرقم\fP ولا \f(CR0x\fP\fBقناع_إشارة\fP، تُسرد جميع أسماء الإشارات. وفي هذه الحالة، تُطبع إشارة واحدة لكل سطر عندما لا يكون المخرج طرفية. .RE .sp \fB\-L\fP، \fB\-\-table\fP .RS 4 مشابه لـ \fB\-l\fP، لكنه يطبع أسماء الإشارات والأرقام المقابلة لها. تُطبع إشارة واحدة لكل سطر عندما لا يكون المخرج طرفية. .RE .sp \fB\-a\fP، \fB\-\-all\fP .RS 4 لا تقيد تحويل اسم الأمر إلى معرف العملية (PID) بالعمليات التي لها نفس معرف المستخدم (UID) للعملية الحالية. .RE .sp \fB\-p\fP، \fB\-\-pid\fP .RS 4 اطبع معرف العملية (PID) للعمليات المذكورة فقط، ولا ترسل أي إشارات. .RE .sp \fB\-r\fP، \fB\-\-require\-handler\fP .RS 4 لا ترسل الإشارة إذا لم تُلتقط في مساحة المستخدم من قبل العملية المُشار إليها. .RE .sp \fB\-\-verbose\fP .RS 4 اطبع معرف (أو معرفات) العملية التي ستُرسل إليها إشارة بواسطة \fBkill\fP مع الإشارة. .RE .sp \fB\-q\fP، \fB\-\-queue\fP \fIقيمة\fP .RS 4 أرسل الإشارة باستخدام \fBsigqueue\fP(3) بدلاً من \fBkill\fP(2). المعطى \fIقيمة\fP هو عدد صحيح يُرسل مع الإشارة. إذا كانت العملية المستلمة قد ثبتت معالجاً لهذه الإشارة باستخدام علم \fBSA_SIGINFO\fP لـ \fBsigaction\fP(2)، فيمكنها الحصول على هذه البيانات عبر حقل \fIsi_sigval\fP في بنية \fIsiginfo_t\fP. .RE .sp \fB\-\-timeout\fP \fIإشارة مللي ثانية\fP .RS 4 أرسل إشارة محددة بالطريقة المعتادة إلى عملية ما، تتبعها إشارة إضافية بعد تأخير محدد. يتسبب خيار \fB\-\-timeout\fP في انتظار \fBkill\fP لمدة محددة بـ \fIمللي_ثانية\fP قبل إرسال \fIsignal\fP تالية إلى العملية. نُفذت هذه الميزة باستخدام ميزة واصف ملف PID لنواة لينكس لضمان إرسال الإشارة اللاحقة إلى نفس العملية أو عدم إرسالها إذا لم تعد العملية موجودة. .sp لاحظ أن نظام التشغيل قد يعيد استخدام معرفات العمليات (PIDs) وإن تنفيذ ميزة مماثلة في صدفة باستخدام \fBkill\fP و \fBsleep\fP سيكون عرضة لظروف التسابق حيث قد تُرسل الإشارة اللاحقة إلى عملية مختلفة استخدمت معرف PID مُعاد تدويره. .sp يمكن تحديد خيار \fB\-\-timeout\fP مرات متعددة: تُرسل الإشارات بالتسلسل مع فترات المهلة المحددة. يمكن دمج خيار \fB\-\-timeout\fP مع خيار \fB\-\-queue\fP. .sp كمثال، يرسل الأمر التالي الإشارات \fBQUIT\fP و \fBTERM\fP و \fBKILL\fP بالتسلسل وينتظر 1000 مللي ثانية بين إرسال الإشارات: .sp .if n .RS 4 .nf .fam C kill \-\-verbose \-\-timeout 1000 TERM \-\-timeout 1000 KILL \(rs \-\-signal QUIT 12345 .fam .fi .if n .RE .RE .sp \fB\-d\fP، \fB\-\-show\-process\-state\fP \fIمعرّف\-العملية\fP .RS 4 فك ترميز الحقول المتعلقة بالإشارات في /proc/\fIpid\fP/status. .sp .if n .RS 4 .nf .fam C $ kill \-d $$ Blocked: INT Ignored: TERM TSTP TTIN TTOU Caught: HUP INT PIPE ALRM CHLD WINCH .fam .fi .if n .RE .RE .sp \fB\-h\fP، \fB\-\-help\fP .RS 4 اعرض نص المساعدة ثم اخرج. .RE .sp \fB\-V\fP، \fB\-\-version\fP .RS 4 اعرض الإصدار واخرج. .RE .SH "حالة الخروج" .sp \fBkill\fP له قيم حالة الخروج التالية: .sp \fB0\fP .RS 4 نجاح .RE .sp \fB1\fP .RS 4 فشل .RE .sp \fB64\fP .RS 4 نجاح جزئي (عند تحديد أكثر من عملية واحدة) .RE .SH "ملاحظات" .sp على الرغم من أنه من الممكن تحديد معرف الخيط (TID، انظر \fBgettid\fP(2)) لأحد الخيوط في عملية متعددة الخيوط كمعطى لـ \fBkill\fP، إلا أن الإشارة تُوجه مع ذلك إلى العملية (أي كامل مجموعة الخيوط). بمعنى آخر، لا يمكن إرسال إشارة إلى خيط محدد صراحة في عملية متعددة الخيوط. ستُسلم الإشارة إلى خيط مختار عشوائياً في العملية المستهدفة لا يحجب الإشارة. لمزيد من التفاصيل، انظر \fBsignal\fP(7) ووصف \fBCLONE_THREAD\fP في \fBclone\fP(2). .sp توفر صدفات متنوعة أمر \fBkill\fP مدمجاً يُفضل استخدامه بدلاً من الملف التنفيذي \fBkill\fP(1) الموصوف في هذا الدليل. أسهل طريقة لضمان تنفيذ الأمر الموصوف في هذه الصفحة هي استخدام المسار الكامل عند استدعاء الأمر، على سبيل المثال: \fB/bin/kill \-\-version\fP .SH "المؤلفين" .sp .MTO "svalente\(atmit.edu" "Salvatore Valente" "،" .MTO "kzak\(atredhat.com" "Karel Zak" "" .sp أُخذت النسخة الأصلية من BSD 4.4. .SH "انظر أيضاً" .sp \fBbash\fP(1)، \fBtcsh\fP(1)، \fBsigaction\fP(2)، \fBkill\fP(2)، \fBsigqueue\fP(3)، \fBsignal\fP(7) \fBproc(5)\fP \fBproc_pid_status(5)\fP .SH "التبليغ عن الأخطاء" .sp لتقارير العِلل، استخدم \c .URL "https://github.com/util\-linux/util\-linux/issues" "مُتتبع المشكلات" "." .SH "التوفر" .sp الأمر \fBkill\fP جزء من حزمة util\-linux التي يمكن تنزيلها من \c .URL "https://www.kernel.org/pub/linux/utils/util\-linux/" "أرشيف نواة لينكس" "."