סיגנאַל - לינוקס / יוניקס קאַמאַנד

לינוקס שטיצט ביידע פּאָסיקס פאַרלאָזלעך סיגנאַלז (הערעינאַפטער "נאָרמאַל סיגנאַלז") און פּאָסיקס פאַקטיש-צייַט סיגנאַלז.

נאָרמאַל סיגנאַלז

לינוקס שטיצט די נאָרמאַל סיגנאַלז ליסטעד ונטער. עטלעכע סיגנאַל נומערן זענען אַרקאַטעקטשער אָפענגיק, ווי אנגעוויזן אין די "ווערט" זייַל. (וואו דרייַ וואַלועס זענען געגעבן, דער ערשטער איז יוזשאַוואַלי גילטיק פֿאַר אַלף און ספּאַרק, די מיטל איינער פֿאַר י 386, פּפּק און ש, און די לעצטע פֿאַר מיפּס.

א - דאַמאַנייץ אַז אַ סיגנאַל איז ניטאָ אויף די קאָראַספּאַנדינג אַרקאַטעקטשער.)

די איינסן אין דער "קאַמף" זייַל פון די טיש ספּעציפיצירן די פעליקייַט קאַמף פֿאַר די סיגנאַל, ווי גייט:

טערמין

פעליק קאַמף איז צו פאַרענדיקן דעם פּראָצעס.

יגנג

פעליק קאַמף איז צו איגנאָרירן דעם סיגנאַל.

קאָר

פעליק קאַמף איז צו פאַרענדיקן דעם פּראָצעס און דאַמפּ האַרץ.

אָפּשטעל

פעליק קאַמף איז צו האַלטן דעם פּראָצעס.

קודם די סיגנאַלז דיסקרייבד אין דער אָריגינעל פּאָסיקס .1 נאָרמאַל.

סיגנאַל ווערט קאַמף באַמערקונג
אָדער טויט פון קאַנטראָולינג פּראָצעס
SIGINT 2 טערמין יבעררייַסן פון קלאַוויאַטור
סיגקוויט 3 קאָר פאַרלאָזן פון קלאַוויאַטור
SIGILL 4 קאָר ומלעגאַל ינסטרוקטיאָן
SIGABRT 6 קאָר אַבאָרט סיגנאַל פון אַבאָרט (3)
SIGFPE 8 קאָר פלאָוטינג פונט ויסנעם
SIGKILL 9 טערמין טייטן סיגנאַל
SIGSEGV 11 קאָר פאַרקריפּלט זכּרון דערמאָנען
SIGPIPE 13 טערמין צעבראכן רער: שרייַבן צו רער מיט קיין לייענער
SIGALRM 14 טערמין טימער סיגנאַל פון שרעק (2)
SIGTERM 15 טערמין טערמינאַטיאָן סיגנאַל
SIGUSR1 30,10,16 טערמין User-דיפיינד סיגנאַל 1
SIGUSR2 31,12,17 טערמין User-דיפיינד סיגנאַל 2
SIGCHLD 20,17,18 יגנג קינד פארשטאפט אָדער טערמאַנייטיד
SIGCONT 19,18,25 פאָרזעצן אויב פארשטאפט
SIGSTOP 17,19,23 אָפּשטעל האַלטן פּראָצעס
SIGTSTP 18,20,24 אָפּשטעל האַלטן טייפּט בייַ טטי
SIGTTIN 21,21,26 אָפּשטעל טטי אַרייַנשרייַב פֿאַר הינטערגרונט פּראָצעס
SIGTTOU 22,22,27 אָפּשטעל טטי רעזולטאַט פֿאַר הינטערגרונט פּראָצעס

די סיגקילל און סיגסטאָפּ סיגנאַלז קענען ניט זיין געכאפט, אפגעשטעלט, אָדער איגנאָרירט.

ווייַטערדיק די סיגנאַלז נישט אין די פּאָסיקס .1 נאָרמאַל אָבער דיסקרייבד אין SUSv2 און SUSv3 / POSIX 1003.1-2001.

סיגנאַל ווערט קאַמף באַמערקונג
SIGPOLL טערמין פּאָלאַלאַבלע געשעעניש (סיס V). סינאָניאָ פון סיגיאָ
SIGPROF 27,27,29 טערמין פּראָפילינג טייַמער אויסגעגאנגען
SIGSYS 12, -, 12 קאָר שלעכט אַרגומענט צו רוטין (סוויד)
SIGTRAP 5 קאָר טראַסע / ברעאַקפּאָינט טראַפּ
SIGURG 16,23,21 יגנג דרינגלעך צושטאַנד אויף כאָלעל (4.2 BSD)
SIGVTALRM 26,26,28 טערמין ווירטואַל שרעק זייגער (4.2 BSD)
SIGXCPU 24,24,30 קאָר קפּו צייַט שיעור יקסידיד (4.2 BSD)
SIGXFSZ 25,25,31 קאָר טעקע גרייס שיעור יקסידיד (4.2 BSD)

אַרויף צו און אַרייַנגערעכנט לינוקס 2.2, די פעליקייַט אָפּפירונג פֿאַר סיגסיס , סיגקסקפּו , סיגקספסז , און (אויף אַרקאַטעקטשערז אנדערע ווי ספּאַרק און מיפּס) סיגבוס איז צו פאַרענדיקן דעם פּראָצעס (אָן אַ האַרץ דאַמפּ). (אויף עטלעכע אנדערע וניסעס די פעליקייַט קאַמף פֿאַר סיגקסקפּו און סיגקספסז איז צו פאַרענדיקן דעם פּראָצעס אָן אַ האַרץ דאַמפּ.) לינוקס 2.4 קאַנפאָרמז צו די פּאָסיקס 1003.1-2001 באדערפענישן פֿאַר די סיגנאַלז, טערמאַנייטינג דעם פּראָצעס מיט אַ האַרץ דאַמפּ.

ווייַטער פאַרשידן אנדערע סיגנאַלז.

סיגנאַל ווערט קאַמף באַמערקונג
SIGEMT 7, -, 7 טערמין
SIGSTKFLT -, 16, - טערמין סטאַק שולד אויף קאָפּראָסעססאָר (אַניוזד)
SIGIO 23,29,22 טערמין איך / אָ איצט מעגלעך (4.2 BSD)
SIGCLD -, -, 18 יגנג א סינאָנים פֿאַר סיגטשלד
SIGPWR 29,30,19 טערמין מאַכט דורכפאַל (סיסטעם V)
SIGINFO 29, -, - א סינאָנים פֿאַר סיגפּוור
SIGLOST -, -, - טערמין טעקע לאַק פאַרפאַלן
SIGWINCH 28,28,20 יגנג פֿענצטער רעסיזע סיגנאַל (4.3 BSD, Sun)
SIGUNUSED -, 31, - טערמין אַניוזד סיגנאַל (וועט זיין סיגסיס)

(סיגנס 29 איז סיגינפאָ / סיגפּוור אויף אַ אַלף, אָבער סיגלאָסט אויף אַ ספּאַרק.)

סיגעמט איז ניט ספּעסאַפייד אין פּאָסיקס 1003.1-2001, אָבער נעדערלעסס איז אויף רובֿ אנדערע וניסעס, ווו זייַן פעליקייַט קאַמף איז טיפּיש צו פאַרענדיקן דעם פּראָצעס מיט אַ האַרץ דאַמפּ.

SIGPWR (וואָס איז ניט ספּעסאַפייד אין POSIX 1003.1-2001) איז typically ignored by default on those other Unices where it appears.

סיגיאָ (וואָס איז ניט ספּעסאַפייד אין פּאָסיקס 1003.1-2001) איז אפגעזאגט דורך עטלעכע אנדערע וניסעס.

פאַקטיש-צייַט סיגנאַלז

לינוקס שטיצט פאַקטיש-צייַט סיגנאַלז ווי ערידזשאַנאַלי דיפיינד אין די פּאָסיקס .4 פאַקטיש-צייַט יקסטענשאַנז (און איצט אַרייַנגערעכנט אין פּאָסיקס 1003.1-2001). לינוקס שטיצט 32 פאַקטיש-צייַט סיגנאַלז, געציילט פון 32 ( סיגרטמין ) צו 63 ( סיגרטהאַקס ). (מגילה זאָל שטענדיק אָפּשיקן צו פאַקטיש-צייַט סיגנאַלז ניצן נאָוטיישאַן סיגרטמין + N, ווייַל די קייט פון פאַקטיש-צייַט סיגנאַל נומערן פארבונדן דורך אַניס.)

ניט ענלעך נאָרמאַל סיגנאַלז, פאַקטיש-צייַט סיגנאַלז האָבן ניט פּרעדעפינעד מינינגז: די גאנצע סכום פון פאַקטיש-צייַט סיגנאַלז קענען זיין געניצט פֿאַר אַפּלאַקיישאַן-דיפיינד צוועקן. (באַמערקונג, however, that the LinuxThreads implementation uses the first three real-time signals.)

די פעליקייַט קאַמף פֿאַר אַ אַנהאַנדלעד פאַקטיש-צייַט סיגנאַל איז צו פאַרענדיקן די ריסיווינג פּראָצעס.

רעאַל-צייט סיגנאַלז זענען אונטערשיידן דורך די פאלגענדע:

  1. קייפל ינסטאָלז פון פאַקטיש-צייַט סיגנאַלז קענען זיין קוועועד. דורך קאַנטראַסט, אויב קייפל ינסטאַנסיז פון אַ נאָרמאַל סיגנאַל זענען איבערגעגעבן בשעת אַז סיגנאַל איז דערווייַל אפגעשטעלט, דעמאָלט בלויז איין בייַשפּיל איז טשודד.
  2. אויב די סיגנאַל איז געשיקט ניצן סיגקוועוע (2), אַ אַקאַמפּאַניינג ווערט (אָדער אַ ינטאַדזשער אָדער אַ טייַטל) קענען ווערן געשיקט מיט די סיגנאַל. אויב די ריסיווינג פּראָצעס שטעלט פֿאַר אַ סיגנאַל פֿאַר דעם סיגנאַל ניצן די סעיפאַגאַקשאַן פיגורע צו סיגנאַקשאַן (2), עס קענען באַקומען דעם דאַטן דורך די סי_וואַלוע פעלד פון די סיגניפאָ_ט סטרוקטור דורכגעגאנגען ווי די צווייטע אַרגומענט צו די האַנדלער. דערצו, די סי_פּיד און סי_וויד פעלדער פון דעם סטרוקטור קענען זיין געוויינט צו באַקומען די פּיד און פאַקטיש באַניצער שייַן פון דעם פּראָצעס שיקט די סיגנאַל.
  3. רעאַל-צייט סיגנאַלז זענען איבערגעגעבן אין אַ געראַנטיד סדר. מער ווי איין פאַקטיש-צייַט סיגנאַלז פון די זעלבע טיפּ זענען איבערגעגעבן אין די סדר זיי זענען געשיקט. אויב אַנדערש פאַקטיש-צייַט סיגנאַלז זענען געשיקט צו אַ פּראָצעס, זיי זענען איבערגעגעבן סטאַרטינג מיט די לאָואַסט-געציילט סיגנאַל. (יאָ, נידעריק-געציילט סיגנאַלז האָבן העכסטן בילכערקייַט.)

אויב ביידע נאָרמאַל און פאַקטיש-צייַט סיגנאַלז זענען פּענדינג פֿאַר אַ פּראָצעס, פּאָסיקס בלעטער עס ונספּעסיפיעד וואָס איז ערשטער. לינוקס, ווי פילע אנדערע ימפּלאַמענטיישאַנז, גיט בילכערקייַט צו נאָרמאַל סיגנאַלז אין דעם פאַל.

לויט פּאָסיקס, אַ ימפּלאַמענטיישאַן זאָל דערלויבן בייַ מינדסטער _POSIX_SIGQUEUE_MAX (32) פאַקטיש-צייַט סיגנאַלז צו זיין קוועועד צו אַ פּראָצעס. אָבער, למשל ווי צו שטעלן אַ פּער-פּראָצעס שיעור, לינוקס ימפּלייז אַ סיסטעם-ברייט שיעור אויף די נומער פון קוועועד פאַקטיש-צייַט סיגנאַלז פֿאַר אַלע פּראַסעסאַז.

דעם שיעור קענען זיין געוויזן (און מיט פּריווילעגיע) געביטן דורך די / פּראָס / סיס / קערנעל / רציג-מאַקס טעקע. א שייַכות טעקע, / proc / sys / kernel / rtsig-max , קענען ווערן גענוצט צו געפֿינען אויס ווי פילע פאַקטיש-צייַט סיגנאַלז זענען דערווייַל קוועועד.

CONFORMING TO

POSIX.1

וויכטיק: ניצן די מענטש באַפֿעל ( % man ) צו זען ווי אַ באַפֿעל איז געוויינט אויף דיין באַזונדער קאָמפּיוטער.