File: signal.7.xml

package info (click to toggle)
manpages-tr 1.0.2+cvs20040401-1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k, sarge
  • size: 1,268 kB
  • ctags: 24
  • sloc: xml: 13,540; php: 74; makefile: 46; sh: 13
file content (200 lines) | stat: -rw-r--r-- 14,369 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
<?xml version="1.0" encoding="UTF-8"?>
<!-- ********************************************************************
     $Id: signal.7.xml,v 1.3 2004/03/14 11:24:54 nilgun Exp $
     ******************************************************************** -->
<refentry id="man7-signal">
<remark>
.\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de)
.\" Copyright (c) 2002 by Michael Kerrisk (mtk16@ext.canterbury.ac.nz)
.\"
.\" Permission is granted to make and distribute verbatim copies of this
.\" manual provided the copyright notice and this permission notice are
.\" preserved on all copies.
.\"
.\" Permission is granted to copy and distribute modified versions of this
.\" manual under the conditions for verbatim copying, provided that the
.\" entire resulting derived work is distributed under the terms of a
.\" permission notice identical to this one
.\"
.\" Since the Linux kernel and libraries are constantly changing, this
.\" manual page may be incorrect or out-of-date.  The author(s) assume no
.\" responsibility for errors or omissions, or for damages resulting from
.\" the use of the information contained herein.  The author(s) may not
.\" have taken the same level of care in the production of this manual,
.\" which is licensed free of charge, as they might when working
.\" professionally.
.\"
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work.
.\" License.
.\" Modified Sat Jul 24 17:34:08 1993 by Rik Faith (faith@cs.unc.edu)
.\" Modified Sun Jan  7 01:41:27 1996 by Andries Brouwer (aeb@cwi.nl)
.\" Modified Sun Apr 14 12:02:29 1996 by Andries Brouwer (aeb@cwi.nl)
.\" Modified Sat Nov 13 16:28:23 1999 by Andries Brouwer (aeb@cwi.nl)
.\" Modified 10 Apr 2002, by Michael Kerrisk (mtk16@ext.canterbury.ac.nz)
.\" Modified  7 Jun 2002, by Michael Kerrisk (mtk16@ext.canterbury.ac.nz)
.\"     Added information on real-time signals
.\" Modified 13 Jun 2002, by Michael Kerrisk (mtk16@ext.canterbury.ac.nz)
.\"     Noted that SIGSTKFLT is in fact unused
.\"
</remark>
  <refmeta>
    <manvolnum>7</manvolnum>
    <refentrytitle>signal</refentrytitle>
    <refmiscinfo role="header">Linux Yazılımcılarının Kılavuzu</refmiscinfo> 
    <refmiscinfo role="footerleft">Linux 2.4.18</refmiscinfo>
    <refmiscinfo role="footermid">13 Haziran 2002</refmiscinfo>
  </refmeta>
  
  <refnamediv>  
    <refname>signal</refname>
    <refpurpose>kullanılabilir sinyallerin listesi</refpurpose>
  </refnamediv>
  
  <refsect1><title>AÇIKLAMA</title>
    <para>
    </para><para>
Linux hem POSIX güvenilir sinyallerini (bundan sonra "standart sinyaller" denecektir) hem de POSIX gerçek zamanlı sinyallerini destekler.
    </para>
    <refsect2><title>Standart Sinyaller</title>
      <para>
Linux aşağıda listelenen standart sinyalleri desteklemektedir. Sinyal numaralarının bazıları "Değer" sütununda görüldüğü gibi mimariye bağımlıdır. (Üç değer verilen yerlerde ilk değer genelde alpha ve sparc içindir, ortadaki değer i386, ppc ve sh için, sonuncusu ise mips içindir. - işareti sinyalin o mimaride bulunmadığını gösterir.)
      </para><para>
Tablonun "Eylem" sütunundaki girdiler sinyallerin öntanımlı eylemlerini gösterir:
      </para><para>
        <glosslist><glossentry>
          <glossterm>Son</glossterm>
          <glossdef><para>Öntanımlı eylem sürecin sonlandırılmasıdır.
          </para></glossdef>
        </glossentry><glossentry>
          <glossterm>Yok</glossterm>
          <glossdef><para>Öntanımlı eylem sinyalin yoksayılmasıdır.
          </para></glossdef>
        </glossentry><glossentry>
          <glossterm>Core</glossterm>
          <glossdef><para>Öntanımlı eylem sürecin sonlandırılması ve <filename>core</filename> dosyası çıktılanmasıdır.
          </para></glossdef>
        </glossentry><glossentry>
          <glossterm>Dur</glossterm>
          <glossdef><para>Öntanımlı eylem sürecin durdurulmasıdır.
          </para></glossdef>
        </glossentry></glosslist>
      </para><para>
Sinyaller ilk defa orginal POSIX.1 standardında açıklanmıştır.
      </para><para>
<literallayout>
Sinyal    Değer    Eylem  Açıklama
-------------------------------------------------------------------------
<userinput>SIGHUP</userinput>       1     Son    Denetleyen uçbirimde hangup saptandı
                           veya denetleyen sürecin ölümü
<userinput>SIGINT</userinput>       2     Son    Klavyeden sistem kesmesi
<userinput>SIGQUIT</userinput>      3     Core   Klavyeden çıkış
<userinput>SIGILL</userinput>       4     Core   Kuraldışı komut
<userinput>SIGABRT</userinput>      6     Core   abort(3)'den çık sinyali
<userinput>SIGFPE</userinput>       8     Core   Kayan nokta hatası
<userinput>SIGKILL</userinput>      9     Son    Öldür sinyali
<userinput>SIGSEGV</userinput>     11     Core   Bellek başvurusu geçersiz
<userinput>SIGPIPE</userinput>     13     Son    Kırık boruhattı: okuyucusu olmayan boruya yazma
<userinput>SIGALRM</userinput>     14     Son    alarm(2)'den zamanlayıcı sinyali
<userinput>SIGTERM</userinput>     15     Son    Sonlandırma sinyali
<userinput>SIGUSR1</userinput>  30,10,16  Son    Kullanıcı tanımlı sinyal 1
<userinput>SIGUSR2</userinput>  31,12,17  Son    Kullanıcı tanımlı sinyal 2
<userinput>SIGCHLD</userinput>  20,17,18  Yok    Alt süreç durdu ya da sonlandırıldı
<userinput>SIGCONT</userinput>  19,18,25         Durmuşsa devam etsin
<userinput>SIGSTOP</userinput>  17,19,23  Dur    Süreci durdur
<userinput>SIGTSTP</userinput>  18,20,24  Dur    tty'de yazmayı durdur
<userinput>SIGTTIN</userinput>  21,21,26  Dur    artalan süreci için tty girdisi
<userinput>SIGTTOU</userinput>  22,22,27  Dur    artalan süreci için tty çıktısı
</literallayout>
      </para><para>
<userinput>SIGKILL</userinput> ve <userinput>SIGSTOP</userinput> sinyalleri yakalanamaz, engellenemez ve yoksayılamaz.
      </para><para>
Aşağıdaki sinyaller POSIX.1 standardında yoktur, SUSv2 ve SUSv3 / POSIX 1003.1-2001 standartlarında açıklanmıştır.      
      </para><para>
<literallayout>
Sinyal      Değer    Eylem  Açıklama
-------------------------------------------------------------------------
<userinput>SIGBUS</userinput>     10,7,10   Core   Taşıt hatası (hatalı bellek erişimi)
<userinput>SIGPOLL</userinput>              Son    Kutuplanabilir olay (Sys V). SIGIO ile aynı.
<userinput>SIGPROF</userinput>    27,27,29  Son    Profilleme zamanlayıcısında zamanaşımı
<userinput>SIGSYS</userinput>     12,−,12   Core   İşlev argümanı hatalı (SVID)
<userinput>SIGTRAP</userinput>       5      Core   İz sürme/noktasal durdurma kapanı
<userinput>SIGURG</userinput>     16,23,21  Yok    Soket üzerinde acil durum (4.2 BSD)
<userinput>SIGVTALRM</userinput>  26,26,28  Son    Sanal uyarı saati (4.2 BSD)
<userinput>SIGXCPU</userinput>    24,24,30  Core   İşlemci zaman sınırı aşıldı (4.2 BSD)
<userinput>SIGXFSZ</userinput>    25,25,31  Core   Dosya boyut sınırı aşıldı (4.2 BSD)
</literallayout>      
      </para><para>
Linux 2.2 dahil ve daha öncesinde <userinput>SIGSYS</userinput>,  <userinput>SIGXCPU</userinput>,  <userinput>SIGXFSZ</userinput> ve (SPARC ve MIPS dışındaki mimarilerde) <userinput>SIGBUS</userinput> sinyali için öntanımlı davranış (<filename>core</filename> çıktılanmaksızın) süreci sonlandırmaktı. (<userinput>SIGXCPU</userinput> ve <userinput>SIGXFSZ</userinput> sinyali için bazı Unix'lerde öntanımlı davranış bir <filename>core</filename> çıktılamaksızın süreci sonlandırmak şeklindedir.) Linux 2.4 bu sinyaller için POSIX
1003.1-2001 gereksinimlerine uygun olarak süreci sonlandırırken bir <filename>core</filename> çıktılamaktadır.
      </para><para>
Diğer sinyaller aşağıdadır:      
      </para><para>      
<literallayout>
Sinyal      Değer    Eylem  Açıklama
-------------------------------------------------------------------------
<userinput>SIGIOT</userinput>        6      Core   IOT kapanı. SIGABRT ile eşanlamlı
<userinput>SIGEMT</userinput>      7,−,7    Son 
<userinput>SIGSTKFLT</userinput>   −,16,−   Son    ek işlemcide yığıt hatası (kullanılmadı)
<userinput>SIGIO</userinput>      23,29,22  Son    G/Ç şimdi nümkün (4.2 BSD)
<userinput>SIGCLD</userinput>      −,−,18   Yok    SIGCHLD ile eşanlamlı
<userinput>SIGPWR</userinput>     29,30,19  Son    Güç kaybı (System V)
<userinput>SIGINFO</userinput>     29,−,−          SIGPWR ile eşanlamlı
<userinput>SIGLOST</userinput>     −,−,−    Son    Dosya kilidi kaybı
<userinput>SIGWINCH</userinput>   28,28,20  Yok    Pencere boyutlandırma sinyali (4.3 BSD, Sun)
<userinput>SIGUNUSED</userinput>   −,31,−   Son    Kullanılmamış sinyal (SIGSYS olacak)
</literallayout>
      </para><para>
29 numaralı sinyal bir alpha için <userinput>SIGINFO</userinput> / <userinput>SIGPWR</userinput> iken sparc için <userinput>SIGLOST</userinput>'dur.      
      </para><para>
<userinput>SIGEMT</userinput> sinyali POSIX 1003.1-2001 standardında belirtilmemesine rağmen çoğu Unix'de rastlandığı yerde öntanımlı eylem olarak genellikle süreci sonlandırır ve bir core çıktılar.   
      </para><para>
<userinput>SIGPWR</userinput> (POSIX 1003.1-2001 standardında belirtilmemiştir) sinyali de bu Unix'lerde rastlandığı yerde öntanımlı eylem olarak genellikle yoksayılır.
      </para><para>
<userinput>SIGIO</userinput> (POSIX 1003.1-2001 standardında belirtilmemiştir) sinyali de başka birçok Unix'de öntanımlı olarak yoksayılır.
      </para>
    </refsect2><refsect2><title>Gerçek Zamanlı Sinyaller</title>
      <para>
Linux, POSIX.4'de tanımlı (ve şimdi POSIX 1003.1-2001'de de bulunan) gerçek zamanlı oluşumlar olarak gerçek zamanlı sinyalleri destekler.  Linux, 32'den (<userinput>SIGRTMIN</userinput>) 63'e (<userinput>SIGRTMAX</userinput>) kadar numaralı 32 tane gerçek zamanlı sinyal destekler. (Gerçek zamanlı sinyallerin aralıkları Unix'ler arasında değişiklik gösterdiğinden, uygulamalar gerçek zamanlı sinyalleri daima <userinput>SIGRTMIN</userinput>+n sözdizimi ile kullanmalıdır.)
      </para><para>
Standart sinyallerin tersine gerçek zamanlı sinyallerin önceden tanımlı anlamları yoktur: gerçek zamanlı sinyallerin tümü uygulama tanımlı amaçlar için kullanılır. (Yine de gerçek zamanlı sinyallerin ilk üçünü LinuxThreads oluşumları kullanır.)
      </para><para>
Gerçek zamanlı sinyaller aşağıdaki özelliklere sahiptir:
      </para><para>
        <orderedlist userlevel="4">
          <listitem><para>
Gerçek zamanlı sinyallerin çoklu gerçeklemeleri kuyruklanabilir. Tersine olarak, bir standart sinyal bloklanmış olduğu halde çoklu gerçeklemeleri kulanılmışsa sadece bir gerçeklemesi kuyruklanabilir.          
          </para></listitem><listitem><para>
Bir sinyal <userinput>sigqueue</userinput>(2) kullanılarak gönderilmişse, sinyalle birlikte bir değer (bir tamsayı ya da gösterici) gönderilebilir. Sinyali alan süreç <userinput>sigaction</userinput>(2)'la <userinput>SA_SIGACTION</userinput> bayrağını kullanarak bu sinyal için bir tutucu oluşturursa, bu süreç veriyi, tutucuya ikinci argüman olarak aktarılan <varname>siginfo_t</varname> yapısının  <varname>si_value</varname> alanı üzerinden sağlayabilir. Diğer taraftan, bu yapının <varname>si_pid</varname> ve <varname>si_uid</varname> alanları sinyali gönderen sürecin gerçek kullanıcı kimliği ile süreç kimliğini (PID) elde etmekte kullanılabilir.
          </para></listitem><listitem><para>
Gerçek zamanlı sinyaller garanti edilmiş bir sırada teslim edilir. Aynı türdeki çoklu gerçek zamanlı sinyaller gönderildikleri sırayla teslim edilir. Bir sürece farklı gerçek zamanlı sinyaller gönderilmişse, en düşük numaralı sinyalden başlayarak teslim edilirler (yani düşük numaralı sinyallerin önceliği daha yüksektir.).
          </para></listitem>
        </orderedlist>
      </para><para>
Eğer bir süreç için hem standart hem de gerçek zamanlı sinyaller askıdaysa, POSIX hangisinin önce teslim edileceğini belirlememiştir. Linux, benzer bir çok gerçeklemede olduğu gibi böyle bir durumda standart sinyallere öncelik verir.   
      </para><para>
POSIX'e uygun olarak, bir oluşum, bir sürece kuyruklanacak gerçek zamanlı sinyallerin sayısının en azından <literal>_POSIX_SIGQUEUE_MAX</literal> (32) olmasına izin vermelidir. Bunula birlikte, süreç başına bir sınır koymaktansa, Linux tüm süreçler için kuyruklanacak gerçek zamanlı sinyallerin sayısı için sistem çapında bir sınır koyar. Bu sınır <filename>/proc/sys/kernel/rtsig-max</filename> dosyasında görülebilir ve izinlere bağlı olarak değiştirilebilir. <filename>/proc/sys/kernel/rtsig-max</filename> ile ilgili bir dosya ile de kaç tane gerçek zamanlı sinyalin kuyruklanmış olduğu görülebilir.
      </para>
    </refsect2>
  </refsect1><refsect1><title>UYUMLULUK</title>
    <para>POSIX.1</para>
  </refsect1><refsect1><title>YAZILIM HATALARI</title>
    <para>
<userinput>SIGIO</userinput> ve <userinput>SIGLOST</userinput> aynı değere sahiptir. Sonuncusu çekirdek kaynak kodunda iptal edilmiştir, ancak hala bazı yazılımların derleme süreçleri 29 numaralı sinyalin <userinput>SIGLOST</userinput> olduğunu düşünüyor.
    </para>
  </refsect1><refsect1><title>İLGİLİ BELGELER</title>
    <para>
<userinput><link linkend="man1-kill">kill</link></userinput>(1),
<userinput><link linkend="man2-kill">kill</link></userinput>(2),
<userinput><link linkend="man2-setitimer">setitimer</link></userinput>(2),
<userinput><link linkend="man2-sigaction">sigaction</link></userinput>(2),
<userinput><link linkend="man2-signal">signal</link></userinput>(2),
<userinput><link linkend="man2-sigprocmask">sigprocmask</link></userinput>(2),
<userinput><link linkend="man2-mask">mask</link></userinput>(2),
<userinput><link linkend="man2-sigqueue">sigqueue</link></userinput>(2)
    </para>
  </refsect1><refsect1><title>ÇEVİREN</title>
    <para>Nilgün Belma Bugüner <email>nilgun@belgeler.org</email>, Kasım 2003</para>
  </refsect1>
</refentry>