ምልክት - ሊነክስ / ዩኒየስ ትዕዛዝ

Linux የ POSIX አስተማማኝ ማሳያዎችን (ከዚህ በኋላ "መደበኛ ማሳወቂዎች") እና በ POSIX ቅጽበታዊ ምልክቶችን ይደግፋል.

መደበኛ ምልክቶች

ሊነክስ ከዚህ በታች የተዘረዘሩትን መደበኛ ስጋቶች ይደግፋል. በ "ዋጋ" አምድ ውስጥ እንደተጠቀሰው ብዙ የምልክት ምልክቶች በዴንቨር ላይ የተመሠረተ ነው. (ሦስት እሴቶች ሲሰጡ, የመጀመሪያው አንደኛ ለአልፋ እና ስፓርክ, መካከለኛ ለ i386, ppc እና sh እና የመጨረሻው ለ mips ነው.

ሀ - በተጠሪው ስነ-ጽሁፍ ላይ ምልክት ጠቋሚ አለመሆኑን ያመለክታል.)

በሠንጠረዡ "የሚወሰደው" ዓምድ ውስጥ ያሉት ምዝግቦች ለሲግኙ ነባራዊ ድርጊትን ይገልጻሉ.

ውል

ነባሪ እርምጃ ሂደቱን ለማቋረጥ ነው.

እሺ

ነባሪ እርምጃ ምልክቱን ችላ ማለቱ ነው.

ኮር

ነባሪ እርምጃ የሂደቱን እና መቆለፊያውን ዋናውን ለማቆም ነው.

ተወ

ነባሪ እርምጃ ሂደቱን ለማስቆም ነው.

በመጀመሪያ በኦርጅናል POSIX.1 መስፈርት ውስጥ የተጠቀሱትን ምልክቶች.

ምልክት ዋጋ ተግባር አስተያየት
ወይም የመቆጣጠር ሂደትን
SIGINT 2 ውል በቁልፍ ሰሌዳ አቋርጥ
SIGQUIT 3 ኮር ከቁልፍ ሰሌዳ ይውጡ
SIGILL 4 ኮር ህገወጥ መመሪያ
SIGABRT 6 ኮር አጨናፊ ማሳያ ከጠባ (3)
SIGFPE 8 ኮር የፍካት ነጥብ ልዩ
SIGKILL 9 ውል ምልክት ይግዙ
SIGSEGV 11 ኮር የተሳሳተ የማህደረ ትውስታ ማጣቀሻ
SIGPIPE 13 ውል የተጣራ ቱቦ: ምንም አንባቢዎች ወደ አቧራ ይፃፉ
SIGALRM 14 ውል የሰዓት ቆጣሪ ምልክት ከማንቂያ ደወል (2)
SIGTERM 15 ውል ማቆም ምልክት
SIGUSR1 30, 10, 16 ውል በተጠቃሚ የተገለጸ ምልክት 1
SIGUSR2 31,12,17 ውል በተጠቃሚ የተገለጸ ምልክት 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 ተወ የቲቢ ሂደቱ ለጀርባ ሂደት

SIGKILL እና SIGSTOP ምልክቶቹ ሊያዝ , ሊታገድ ወይም ችላ ሊባሉ አይችሉም.

ቀጥሎ ያሉት በ POSIX.1 ደረጃዎች ውስጥ አይደለም ነገር ግን በ SUSv2 እና SUSv3 / POSIX 1003.1-2001 ውስጥ የተገለጹት.

ምልክት ዋጋ ተግባር አስተያየት
SIGPOLL ውል የሚሰራጭ ክስተት (SS V). የ SIGIO ተመሳሳይ ስም
SIGPROF 27,27,29 ውል የማሳወቂያ ጊዜ ቆጣሪ ጊዜው አልፎበታል
SIGSYS 12, -, 12 ኮር ጥሩ ያልሆነ ነጋሪ እሴት ወደ መደበኛ ስራ (SVID)
SIGTRAP 5 ኮር ትራክ / የቋሚ እሽታ
SIGURG 16,23,21 እሺ በሶኬት (4.2 ቢኤስዲ) አስቸኳይ ሁኔታ
SIGVTALRM 26,26,28 ውል ምናባዊ የማንቂያ ሰዓት (4.2 ቢኤስዲ)
SIGXCPU 24,24,30 ኮር የሲፒዩ የጊዜ ወሰን አልፏል (4.2 ቢኤስዲ)
SIGXFSZ 25,25,31 ኮር የፋይል መጠን ወሰን አልፏል (4.2 ቢኤስዲ)

ወደሊክስ 2.2 ሒሳብን ጨምሮ, የ SIGSYS , SIGXCPU , SIGXFSZ , እና (ከ SPARC እና MIPS በስተቀር) ላይ ያለው ነባራዊ ባህሪ SIGBUS ሂደቱን ማቋረጥ ነበር (ያለ ዋና ጥልቀት). (በአንዳንድ ሌሎች Unices ደግሞ የ SIGXCPU እና SIGXFSZ ነባሪ ተግባሩ ያለ አከባቢ አሠራር ሂደቱን ማቋረጥ ነው.) Linux 2.4 ለእነዚህ ምልክቶች ከ POSIX 1003.1-2001 መስፈርቶች ጋር ይጣጣማል, እንደ ዋና ጥልቀት ያለውን ሂደት ያቋርጣል.

ቀጥሎ የተለያዩ ምልክቶች.

ምልክት ዋጋ ተግባር አስተያየት
SIGEMT 7, -, 7 ውል
SIGSTKFLT -, 16, - ውል በኮምፕረረር ላይ የቁልል ጥፋት (ጥቅም ላይ ያልዋለ)
SIGIO 23,29,22 ውል አሁን I / O አሁን (4.2 BSD)
SIGCLD -, -, 18 እሺ ለ SIGCHLD ተመሳሳይ ስም
SIGPWR 29,30,19 ውል የኃይል መከሰት (ስርዓት ቪ)
SIGINFO 29, -, - ለ SIGPWR ተመሳሳይ ትርጉም
SIGLOST -, -, - ውል የፋይል ቁልፍ ጠፍቷል
SIGWINCH 28,28,20 እሺ የመስኮት መጠን መቀየር ምልክት (4.3 ቢሲዲ, ሰን)
SIGUNUSED -, 31, - ውል ጥቅም ላይ ያልዋለ ምልክት (SIGSYS ይሆናል)

(ምልክት 29 SIGINFO / SIGPWR በአልፋ ላይ ግን SIGLOSTsparc ነው .)

SIGEMT በ POSIX 1003.1-2001 አልተገለጸም, ግን በአብዛኛዎቹ ሌሎች ዩኒሎች ላይ, ነባሪው እርምጃው ዋናው ኮምፕዩተር ከኮንትሮል ጭነት ጋር ሂደቱን እንዲያቋርጥ በጭራሽ አይመጣም.

SIGPWR (በ POSIX 1003.1-2001 ያልተጠቀሰ) በተለምዶ በሌሎች አሁኖቹ ላይ በነባሪነት ችላ ይባላል.

SIGIO (በ POSIX 1003.1-2001 ያልተጠቀሰ) በበርካታ ሌሎች የዩኒየስዎች ላይ በነባሪነት ችላ ይባላል.

ሪል-ታይም ምልክቶች

Linux በ POSIX.4 በጊዜያዊ ቅጥያዎች (እና አሁን በ POSIX 1003.1-2001 የተካተቱ) ላይ እንደተገለፀው እውነተኛ የጊዜ ገፆችን ይደግፋል. ሊነክስ ከ 32 ( SIGRTMIN ) እስከ 63 ( SIGRTMAX ) 32 የተንሳፈፉ የጊዜ ሁኔታዎች ምልክቶች ይቀበላል . (ፕሮግራሞች SIGRTMIN + n ን በመጠቀም በመጠቀም የእውነተኛ ጊዜ ምልክቶችን ነው የሚያመለክቱት, ምክንያቱም እውነተኛ የጊዜ ምልክት ቁጥር በአጠቃላይ በ Unices ይለያያል.)

ከመደበኛ ማሳያዎች በተለየ መልኩ የትራፊክ ምልክቶቹ ምንም ቅድመ-ዝርዝር ፍቺዎች የሉትም-አጠቃላይ የጨዋታ-ጊዜ ምልክቶች ስብስብ ለመተግበሪያ-ለተገለጹ ዓላማዎች ጥቅም ላይ ሊውል ይችላል. (ይሁን እንጂ LinuxThreads ትግበራ የመጀመሪያዎቹን ሶስት ቅጽ-ጊዜ ምልክቶች እንደሚጠቀም ልብ ይበሉ.)

ላልተመከመበት የጊዜ-ጊዜ ምልክት ነባሪ እርምጃው የመቀባትን ሂደት ማቆም ነው.

የትራፊክ ምልክቶች በሚከተሉት ተለይተዋል.

  1. የእውነተኛ ጊዜ ምልክቶች በርካታ ሁኔታዎች ተይዘዋል. በተቃራኒው, የምልክት ጊዜ በአሁኑ ጊዜ ታግዶ እያለ ብዙ መደበኛ የማሳያ ምልክትዎች ሲቀርቡ ከሆነ, አንድ ብቻ ትዕዛዝ ወረፋ ይዘዋል.
  2. ምልክቱ ሲጊኬሽን (2) ከተላከ ተጓዳኝ እሴት (ኢንቲጀር ወይም ጠቋሚ) ከምልክት ጋር ሊላክ ይችላል. የመቀበያው ሂደት የ SA_SIGACTION ምልክትን (2) በመጠቀም ለዚህ ምልክት ጠቋሚ ካዘጋጀ ይሄን ውሂብ በ " siginfo_t" ላይ ባለው በሁለተኛ ግቤት ወደ ተቆጣጣሪው እንደሚተላለፍ ባለው የ si_value መስክ በኩል ማግኘት ይችላል. በተጨማሪም, የዚህ መዋቅር የ si_pid እና si_uid መስኮች የ PID እና እውነተኛ የእውነታ ተጠቃሚ መታወቂያውን ለማግኘት የሲግናል ምልክቶችን ሊልኩ ይችላሉ.
  3. ሪል-ግዜ ምልክቶች በአስተማማኝ ትዕዛዝ ይቀርባሉ. ተመሳሳይ ዓይነት ብዙ ቅጽበታዊ ምልክቶች ለትራሳቸው በተላከው ቅደም ተከተል ይላካሉ. የተለያዩ ቅጽበታዊ-ምልክቶች ምልክቶች ወደ ሂደቱ ከተላኩ, በጣም ዝቅተኛ ከሆነ ቁጥሩ ከተደረሰው ምልክት ጀምሮ ይላካሉ. (ዝቅተኛ ቅድሚያ ያላቸው ምልክቶች ከፍተኛ ቅድሚያ ተሰጣቸው.)

ሁለቱም መደበኛ እና ቀጥተኛ የጊዜ ምልክቶች ለሂደቱ በመጠባበቅ ላይ ከሆኑ, POSIX አስቀድሞ ያልተገለፀ ሲሆን ይቀርባል. ሊነክስ, ልክ እንደ ሌሎች በርካታ ማስፈፀሚያዎች, በዚህ ጉዳይ ላይ መደበኛውን ምልክት ቅድሚያ ይሰጣል.

በ POSIX መሠረት አንድ ትግበራ ቢያንስ አንድ _POSIX_SIGQUEUE_MAX (32) የአስተያየት ጊዜ ምልክቶች ወደ ሂደቱ ውስጥ እንዲሰለፍ ያስችላል. ነገር ግን, በሂደት-ገደብ ገደብ ከማስቀመጥ ይልቅ, ሊነክስ በሁሉም ሂደቶች ላይ በተቀመጠው ጊዜያዊ የታገዘ የጊዜያዊ ቁጥር ምልክት ላይ ሰፊ ስርዓት ያስገድዳል.

ይህ ገደብ በ / proc / sys / kernel / rtsig-max ፋይል በኩል እየተለወጠ (እና እንደ ልዩ መብት) ሊለወጥ ይችላል. ተዛማጅ ፋይል, / proc / sys / kernel / rtsig-max , በአሁኑ ጊዜ በእውነተኛ ሰዓት ላይ ምን ያህል ምርቶች እንደጠበቁ ለማወቅ ጥቅም ላይ ሊውል ይችላል.

POSIX.1

ጠቃሚ ማሳሰቢያ: በኮምፒተርዎ ውስጥ እንዴት አንድ ትዕዛዝ እንዴት ጥቅም ላይ እንደዋለ ለመመልከት የሰውውን ትዕዛዝ ( % man ) ይጠቀሙ.