FreeToGenerate.com

الإشارة 10 هي SIGUSR1 على x86 وSIGBUS في كلّ ما عداها تقريبًا. والرقمُ المثبَّت باليد لا يفشل على الجهاز الخطأ — بل يفعل شيئًا آخر.

ماذا يعني هذا الرقم؟

‏x86 وARM ومعظم لينكس
SIGUSR1
‏Alpha وSPARC
SIGBUS
MIPS
SIGBUS
PA-RISC
SIGBUS
macOS
SIGBUS

هذا الرقم يعني أشياء مختلفة على منصّاتٍ مختلفة. والكودُ الذي يثبّته لا يفشل بصخبٍ على الجهاز الخطأ — بل يفعل شيئًا آخر.

الأرقام ليست اعتباطية — بل تتبع شجرةَ نسب

31 من الإشارات التي يعرّفها المصدران، يوافق macOS ‏Alpha وSPARC 31 · ‏x86 وARM ومعظم لينكس 19

‏macOS ومعماريتا Alpha وSPARC تنحدر كلُّها من BSD، بينما أخذ لينكس على x86 بترقيم System V. فعمودٌ واحدٌ من جدول لينكس هو عمليًّا عمودُ BSD — والخلافُ بين العائلتين هو بعينه ما يجعل تثبيت رقمٍ باليد أمرًا غير آمن.

39 إشارة

الإشارةُ لا وجود لها على تلك المنصّة أصلًا — وهذا غيرُ أن يكون لها رقمٌ آخر.

SIGABRTP1990Core ينهيها ويكتب تفريغًا
‏x86 وARM ومعظم لينكس
6
‏Alpha وSPARC
6
MIPS
6
PA-RISC
6
macOS
6

Abort signal from abort(3)

SIGALRMP1990Term ينهي العملية
‏x86 وARM ومعظم لينكس
14
‏Alpha وSPARC
14
MIPS
14
PA-RISC
14
macOS
14

Timer signal from alarm(2)

SIGBUSP2001Core ينهيها ويكتب تفريغًارقمٌ مُعاد استعماله
‏x86 وARM ومعظم لينكس
7
‏Alpha وSPARC
10
MIPS
10
PA-RISC
10
macOS
10

Bus error (bad memory access)

SIGCHLDP2001Ign تُهمَل ما لم تعالجهارقمٌ مُعاد استعماله
‏x86 وARM ومعظم لينكس
17
‏Alpha وSPARC
20
MIPS
18
PA-RISC
18
macOS
20

Child stopped, terminated, or continued

SIGCLDIgn تُهمَل ما لم تعالجهارقمٌ مُعاد استعماله
‏x86 وARM ومعظم لينكس
غير موجودة
‏Alpha وSPARC
غير موجودة
MIPS
18
PA-RISC
غير موجودة
macOS
غير موجودة

A synonym for SIGCHLD

SIGCONTP1990Cont يستأنفها إن كانت معلَّقةرقمٌ مُعاد استعماله
‏x86 وARM ومعظم لينكس
18
‏Alpha وSPARC
19
MIPS
25
PA-RISC
26
macOS
19

Continue if stopped

SIGEMTTerm ينهي العمليةرقمٌ مُعاد استعماله
‏x86 وARM ومعظم لينكس
غير موجودة
‏Alpha وSPARC
7
MIPS
7
PA-RISC
غير موجودة
macOS
7

Emulator trap

SIGFPEP1990Core ينهيها ويكتب تفريغًا
‏x86 وARM ومعظم لينكس
8
‏Alpha وSPARC
8
MIPS
8
PA-RISC
8
macOS
8

Erroneous arithmetic operation

SIGHUPP1990Term ينهي العملية
‏x86 وARM ومعظم لينكس
1
‏Alpha وSPARC
1
MIPS
1
PA-RISC
1
macOS
1

Hangup detected on controlling terminal

SIGILLP1990Core ينهيها ويكتب تفريغًا
‏x86 وARM ومعظم لينكس
4
‏Alpha وSPARC
4
MIPS
4
PA-RISC
4
macOS
4

Illegal Instruction

SIGINFOرقمٌ مُعاد استعماله
‏x86 وARM ومعظم لينكس
غير موجودة
‏Alpha وSPARC
29
MIPS
غير موجودة
PA-RISC
غير موجودة
macOS
29

‏Alpha وSPARC مختلفان: Alpha 29, SPARC absent

SIGINTP1990Term ينهي العملية
‏x86 وARM ومعظم لينكس
2
‏Alpha وSPARC
2
MIPS
2
PA-RISC
2
macOS
2

Interrupt from keyboard

SIGIOTerm ينهي العمليةرقمٌ مُعاد استعماله
‏x86 وARM ومعظم لينكس
29
‏Alpha وSPARC
23
MIPS
22
PA-RISC
22
macOS
23

I/O now possible (4.2BSD)

SIGIOTCore ينهيها ويكتب تفريغًا
‏x86 وARM ومعظم لينكس
6
‏Alpha وSPARC
6
MIPS
6
PA-RISC
6
macOS
غير موجودة

IOT trap. A synonym for SIGABRT

SIGKILLP1990Term ينهي العملية
‏x86 وARM ومعظم لينكس
9
‏Alpha وSPARC
9
MIPS
9
PA-RISC
9
macOS
9

Kill signal

SIGLOSTTerm ينهي العمليةرقمٌ مُعاد استعماله
‏x86 وARM ومعظم لينكس
غير موجودة
‏Alpha وSPARC
29
MIPS
غير موجودة
PA-RISC
غير موجودة
macOS
غير موجودة

‏Alpha وSPARC مختلفان: Alpha absent, SPARC 29

File lock lost (unused)

SIGPIPEP1990Term ينهي العملية
‏x86 وARM ومعظم لينكس
13
‏Alpha وSPARC
13
MIPS
13
PA-RISC
13
macOS
13

Broken pipe: write to pipe with no

SIGPOLLP2001Term ينهي العمليةرقمٌ مُعاد استعماله
‏x86 وARM ومعظم لينكس
غير موجودة
‏Alpha وSPARC
غير موجودة
MIPS
غير موجودة
PA-RISC
غير موجودة
macOS
7

Pollable event (Sys V);

SIGPROFP2001Term ينهي العمليةرقمٌ مُعاد استعماله
‏x86 وARM ومعظم لينكس
27
‏Alpha وSPARC
27
MIPS
29
PA-RISC
21
macOS
27

Profiling timer expired

SIGPWRTerm ينهي العمليةرقمٌ مُعاد استعماله
‏x86 وARM ومعظم لينكس
30
‏Alpha وSPARC
29
MIPS
19
PA-RISC
19
macOS
غير موجودة

‏Alpha وSPARC مختلفان: Alpha 29, SPARC absent

Power failure (System V)

SIGQUITP1990Core ينهيها ويكتب تفريغًا
‏x86 وARM ومعظم لينكس
3
‏Alpha وSPARC
3
MIPS
3
PA-RISC
3
macOS
3

Quit from keyboard

SIGSEGVP1990Core ينهيها ويكتب تفريغًا
‏x86 وARM ومعظم لينكس
11
‏Alpha وSPARC
11
MIPS
11
PA-RISC
11
macOS
11

Invalid memory reference

SIGSTKFLTTerm ينهي العمليةرقمٌ مُعاد استعماله
‏x86 وARM ومعظم لينكس
16
‏Alpha وSPARC
غير موجودة
MIPS
غير موجودة
PA-RISC
7
macOS
غير موجودة

Stack fault on coprocessor (unused)

SIGSTKSZ
‏x86 وARM ومعظم لينكس
غير موجودة
‏Alpha وSPARC
غير موجودة
MIPS
غير موجودة
PA-RISC
غير موجودة
macOS
131072
SIGSTOPP1990Stop يعلّق العمليةرقمٌ مُعاد استعماله
‏x86 وARM ومعظم لينكس
19
‏Alpha وSPARC
17
MIPS
23
PA-RISC
24
macOS
17

Stop process

SIGSYSP2001Core ينهيها ويكتب تفريغًارقمٌ مُعاد استعماله
‏x86 وARM ومعظم لينكس
31
‏Alpha وSPARC
12
MIPS
12
PA-RISC
31
macOS
12

Bad system call (SVr4);

SIGTERMP1990Term ينهي العملية
‏x86 وARM ومعظم لينكس
15
‏Alpha وSPARC
15
MIPS
15
PA-RISC
15
macOS
15

Termination signal

SIGTRAPP2001Core ينهيها ويكتب تفريغًا
‏x86 وARM ومعظم لينكس
5
‏Alpha وSPARC
5
MIPS
5
PA-RISC
5
macOS
5

Trace/breakpoint trap

SIGTSTPP1990Stop يعلّق العمليةرقمٌ مُعاد استعماله
‏x86 وARM ومعظم لينكس
20
‏Alpha وSPARC
18
MIPS
24
PA-RISC
25
macOS
18

Stop typed at terminal

SIGTTINP1990Stop يعلّق العمليةرقمٌ مُعاد استعماله
‏x86 وARM ومعظم لينكس
21
‏Alpha وSPARC
21
MIPS
26
PA-RISC
27
macOS
21

Terminal input for background process

SIGTTOUP1990Stop يعلّق العمليةرقمٌ مُعاد استعماله
‏x86 وARM ومعظم لينكس
22
‏Alpha وSPARC
22
MIPS
27
PA-RISC
28
macOS
22

Terminal output for background process

SIGUNUSEDCore ينهيها ويكتب تفريغًارقمٌ مُعاد استعماله
‏x86 وARM ومعظم لينكس
31
‏Alpha وSPARC
غير موجودة
MIPS
غير موجودة
PA-RISC
31
macOS
غير موجودة

Synonymous with SIGSYS

SIGURGP2001Ign تُهمَل ما لم تعالجهارقمٌ مُعاد استعماله
‏x86 وARM ومعظم لينكس
23
‏Alpha وSPARC
16
MIPS
21
PA-RISC
29
macOS
16

Urgent condition on socket (4.2BSD)

SIGUSR1P1990Term ينهي العمليةرقمٌ مُعاد استعماله
‏x86 وARM ومعظم لينكس
10
‏Alpha وSPARC
30
MIPS
16
PA-RISC
16
macOS
30

User-defined signal 1

SIGUSR2P1990Term ينهي العمليةرقمٌ مُعاد استعماله
‏x86 وARM ومعظم لينكس
12
‏Alpha وSPARC
31
MIPS
17
PA-RISC
17
macOS
31

User-defined signal 2

SIGVTALRMP2001Term ينهي العمليةرقمٌ مُعاد استعماله
‏x86 وARM ومعظم لينكس
26
‏Alpha وSPARC
26
MIPS
28
PA-RISC
20
macOS
26

Virtual alarm clock (4.2BSD)

SIGWINCHرقمٌ مُعاد استعماله
‏x86 وARM ومعظم لينكس
28
‏Alpha وSPARC
28
MIPS
20
PA-RISC
23
macOS
28
SIGXCPUP2001Core ينهيها ويكتب تفريغًارقمٌ مُعاد استعماله
‏x86 وARM ومعظم لينكس
24
‏Alpha وSPARC
24
MIPS
30
PA-RISC
12
macOS
24

CPU time limit exceeded (4.2BSD);

SIGXFSZP2001Core ينهيها ويكتب تفريغًارقمٌ مُعاد استعماله
‏x86 وARM ومعظم لينكس
25
‏Alpha وSPARC
25
MIPS
31
PA-RISC
30
macOS
25

File size limit exceeded (4.2BSD);

الأرقام من دليل signal(7) في لينكس ومن ترويسة أبل، قُرئت في التاريخ المبيَّن. 2026-08-03

متوفر أيضًا بلغات أخرى: English · Español · Português · Français

أرقام إشارات لينكس

رقمُ كلّ إشارةٍ على خمس منصّات، والبحثُ العكسي لرقمٍ مجرَّد، وسببُ اختلاف الأرقام أصلًا.

ما أرقام الإشارات؟

الإشارةُ هي الطريقة التي يقاطع بها نظامُ يونكس عمليةً تعمل: ليطلب إليها التوقف، أو ليخبرها أنّ ابنًا لها انتهى، أو ليبلّغها أنها مسّت ذاكرةً ما كان لها أن تمسّها. ولكلٍّ منها اسمٌ مثل SIGTERM ورقمٌ صحيحٌ صغير، والأمر kill يرسل إحداها بأيٍّ منهما. والأسماءُ يثبّتها POSIX. أما الأرقام فلا.

وهنا تكمن الصعوبة كلُّها. فـPOSIX يوحّد أيَّ الإشارات موجودةٌ وما معناها، ويترك الترقيم لكلّ تطبيق — ولذلك فالجدول أدناه بخمسة أعمدة، عمودٍ لكلّ منصّة، وفيه صفوفٌ كثيرة تختلف فيها.

وتحمل هذه الصفحة الإشاراتِ الـ39 من دليل لينكس ومن ترويسة أبل، مع الرقم الذي تخصّصه كلُّ منصّة، وهل يوحّدها POSIX، وماذا يفعل السلوكُ الافتراضي إن لم تعالجها. وفوق الجدول أهمُّ أداةٍ فيه: اكتب رقمًا مجرَّدًا فتخبرك بما يعنيه في كلّ مكان.

كيف تستعملها

  1. ابدأ بالرقم إن كان هو ما بين يديك. اكتبه في البحث العكسي فتحصل على الإشارة التي يسمّيها في كلّ منصّة، وتنبيهٍ إن اختلفت. وهذا هو الاتجاه الذي يتركك فيه سطرُ سجلٍّ أو حالةُ خروج.
  2. ابحث بالاسم أو بالرقم أو بالوصف. ‏SIGKILL وkill و9 وpipe كلُّها تعمل، والاسمُ المطابق يتصدّر بدل أن يُدفن تحت كلّ ما يحوي تلك الحروف فحسب.
  3. اقرأ الصفَّ كلَّه. السلوكُ الافتراضي يخبرك بما يحدث إن أهمل برنامجُك الإشارة، و«غير موجودة» تعني أنّ الإشارة ليست هناك أصلًا، وهذا غيرُ أن يكون لها رقمٌ آخر.

لماذا تختلف الأرقام، ولماذا ليس ذلك اعتباطًا

المثالُ الشهير هو SIGUSR1. فهو 10 على x86 وARM، و30 على Alpha وSPARC، و16 على MIPS وPA-RISC — ثلاثةُ أرقامٍ لاسمٍ واحد، وكلُّها لينكس. فالاختلافُ ليس بين أنظمة تشغيل، بل بين معماريّاتِ نظامٍ واحد.

وإذا قيل هكذا بدا مضايقةً. أما إذا قُلب فهو خطر: فالرقمُ نفسُه يعني إشاراتٍ مختلفة. فالعشرةُ هي SIGUSR1 على x86 وSIGBUS في كلّ ما عداها تقريبًا، فسكربتٌ أو شفرةٌ تثبّت العشرة باليد لا تفشل بصخبٍ حين تعمل حيث لم يُتوقَّع. بل ترسل خطأَ ناقلٍ إلى عمليةٍ كانت تنتظر إشارةَ مستخدم، فتموت العمليةُ على نحوٍ لم يكتب له أحدٌ معالِجًا.

والمطمئنُ أنّ للخلاف شكلًا. فمن الإشارات الـ31 التي يعرّفها دليلُ لينكس وترويسةُ أبل معًا، يوافق macOS عمودَ Alpha وSPARC في كلٍّ منها دون استثناء، ويوافق x86 في 19 فقط. فـmacOS وتلك المعماريّات تنحدر من BSD؛ أما لينكس على x86 فأخذ بترقيم System V. فثمّة هنا عائلتان في الحقيقة، وعمودٌ من جدول لينكس هو عمودُ BSD بلافتةٍ أخرى.

وحفنةٌ من الأرقام واحدةٌ في كلّ مكان، ولذلك هي التي يحفظها الناس: فالواحد دائمًا SIGHUP، والاثنان دائمًا SIGINT، والتسعة دائمًا SIGKILL، والخمسة عشر دائمًا SIGTERM. هذه الأربعة يمكن تثبيتها باليد دون خوف. وما عداها فلا يكاد.

حدودٌ صريحة

خمسُ منصّاتٍ ليست كلَّ المنصّات. فدليلُ لينكس يوثّق أربعَ مجموعاتٍ معمارية، وأبل توثّق macOS؛ أما سائرُ أنظمة BSD وSolaris وAIX وغيرها فلها ترويساتُها ولا تظهر هنا. ولأنّ مغزى الصفحة كلَّه أنّ الأرقام تتباين، فعامِل الغيابَ على أنه «غير معلوم» لا على أنه «موافقة» — فالخلاصةُ الآمنة من هذا الجدول هي استعمالُ الاسم دائمًا.

ثم إنّ الجدول يقف قبل إشارات الزمن الحقيقي. فهي تمتدّ من SIGRTMIN إلى SIGRTMAX، ولا أسماءَ فردية لها، وSIGRTMIN نفسُه ليس ثابتًا: إذ تحجز مكتبةُ C بعضَ الأرقام الدنيا لنفسها، فتتغيّر القيمةُ بين الأنظمة بل وبين إصدارات المكتبة. ورقمٌ من ذلك المدى لا يُبحث عنه في أيّ جدول، وهو صورةٌ أشدُّ من التحذير نفسِه.

وأرقامُ الإشارات ليست رموزَ خروج، وإن التقتا. فالصدفةُ تبلّغ عن عمليةٍ قتلتها الإشارةُ N بحالة خروجٍ قدرها 128 زائد N، فحالةُ 137 تعني الإشارة 9 على منصّةٍ تكون فيها 9 هي SIGKILL. وذلك الحسابُ عُرفُ الصدفة لا جزءٌ من الإشارة، وهو يرث المشكلةَ نفسَها في الحمل.

والبياناتُ مقروءةٌ من دليل signal(7) في لينكس ومن ترويسة xnu لدى أبل لا من جدولٍ آخر، وتاريخُ قراءتها مطبوعٌ تحت القائمة.

لماذا هي مجانية؟

لأن تشغيلها لا يكلّف شيئًا. فالجدولُ جزءٌ من الصفحة والبحثُ يجري في متصفحك؛ لا يُرفع شيءٌ ولا يرى أيُّ خادمٍ ما بحثتَ عنه.

والبرنامجُ الذي يقرأ المصدرين محفوظٌ إلى جانب البيانات التي ينتجها، والاختباراتُ تتحقق بالأسماء من الأرقام ومن قياس شجرة النسب، فالصفُّ الفاسد يكسر البناءَ بدل أن يبلغ الصفحة.