.\" http://belgeler.org \- 2009\-10\-29T15:35:51+02:00 .\" Copyright (c) 1993 by Thomas Koenig (ig25 (at) rz.uni\-karlsruhe.de) .\" Copyright (c) 2002 by Michael Kerrisk (mtk16 (at) 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(at)cs.unc.edu) .\" Modified Sun Jan 7 01:41:27 1996 by Andries Brouwer (aeb(at)cwi.nl) .\" Modified Sun Apr 14 12:02:29 1996 by Andries Brouwer (aeb(at)cwi.nl) .\" Modified Sat Nov 13 16:28:23 1999 by Andries Brouwer (aeb(at)cwi.nl) .\" Modified 10 Apr 2002, by Michael Kerrisk (mtk16(at)ext.canterbury.ac.nz) .\" Modified 7 Jun 2002, by Michael Kerrisk (mtk16(at)ext.canterbury.ac.nz) .\" Added information on real\-time signals .\" Modified 13 Jun 2002, by Michael Kerrisk (mtk16(at)ext.canterbury.ac.nz) .\" Noted that SIGSTKFLT is in fact unused .\" .TH "signal" 7 "13 Haziran 2002" "Linux 2.4.18" "Linux Yazılımcılarının Kılavuzu" .nh .PD 0 .SH İSİM signal \- kullanılabilir sinyallerin listesi .SH AÇIKLAMA Linux hem POSIX güvenilir sinyallerini (bundan sonra "standart sinyaller" denecektir) hem de POSIX gerçek zamanlı sinyallerini destekler. .SS Standart Sinyaller 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.) Tablonun "Eylem" sütunundaki girdiler sinyallerin öntanımlı eylemlerini gösterir: .br .ns .TP Son Öntanımlı eylem sürecin sonlandırılmasıdır. .TP Yok Öntanımlı eylem sinyalin yoksayılmasıdır. .TP Core Öntanımlı eylem sürecin sonlandırılması ve core dosyası çıktılanmasıdır. .TP Dur Öntanımlı eylem sürecin durdurulmasıdır. .PP Sinyaller ilk defa orginal POSIX.1 standardında açıklanmıştır. .nf Sinyal Değer Eylem Açıklama \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \fBSIGHUP\fR 1 Son Denetleyen uçbirimde hangup saptandı \ veya denetleyen sürecin ölümü \fBSIGINT\fR 2 Son Klavyeden sistem kesmesi \fBSIGQUIT\fR 3 Core Klavyeden çıkış \fBSIGILL\fR 4 Core Kuraldışı komut \fBSIGABRT\fR 6 Core abort(3)\N'39'den çık sinyali \fBSIGFPE\fR 8 Core Kayan nokta hatası \fBSIGKILL\fR 9 Son Öldür sinyali \fBSIGSEGV\fR 11 Core Bellek başvurusu geçersiz \fBSIGPIPE\fR 13 Son Kırık boruhattı: okuyucusu olmayan boruya yazma \fBSIGALRM\fR 14 Son alarm(2)\N'39'den zamanlayıcı sinyali \fBSIGTERM\fR 15 Son Sonlandırma sinyali \fBSIGUSR1\fR 30,10,16 Son Kullanıcı tanımlı sinyal 1 \fBSIGUSR2\fR 31,12,17 Son Kullanıcı tanımlı sinyal 2 \fBSIGCHLD\fR 20,17,18 Yok Alt süreç durdu ya da sonlandırıldı \fBSIGCONT\fR 19,18,25 Durmuşsa devam etsin \fBSIGSTOP\fR 17,19,23 Dur Süreci durdur \fBSIGTSTP\fR 18,20,24 Dur tty\N'39'de yazmayı durdur \fBSIGTTIN\fR 21,21,26 Dur artalan süreci için tty girdisi \fBSIGTTOU\fR 22,22,27 Dur artalan süreci için tty çıktısı .fi \fBSIGKILL\fR ve \fBSIGSTOP\fR sinyalleri yakalanamaz, engellenemez ve yoksayılamaz. Aşağıdaki sinyaller POSIX.1 standardında yoktur, SUSv2 ve SUSv3 / POSIX 1003.1\-2001 standartlarında açıklanmıştır. .nf Sinyal Değer Eylem Açıklama \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \fBSIGBUS\fR 10,7,10 Core Taşıt hatası (hatalı bellek erişimi) \fBSIGPOLL\fR Son Kutuplanabilir olay (Sys V). SIGIO ile aynı. \fBSIGPROF\fR 27,27,29 Son Profilleme zamanlayıcısında zamanaşımı \fBSIGSYS\fR 12,\-,12 Core İşlev argümanı hatalı (SVID) \fBSIGTRAP\fR 5 Core İz sürme/noktasal durdurma kapanı \fBSIGURG\fR 16,23,21 Yok Soket üzerinde acil durum (4.2 BSD) \fBSIGVTALRM\fR 26,26,28 Son Sanal uyarı saati (4.2 BSD) \fBSIGXCPU\fR 24,24,30 Core İşlemci zaman sınırı aşıldı (4.2 BSD) \fBSIGXFSZ\fR 25,25,31 Core Dosya boyut sınırı aşıldı (4.2 BSD) .fi Linux 2.2 dahil ve daha öncesinde \fBSIGSYS\fR, \fBSIGXCPU\fR, \fBSIGXFSZ\fR ve (SPARC ve MIPS dışındaki mimarilerde) \fBSIGBUS\fR sinyali için öntanımlı davranış (core çıktılanmaksızın) süreci sonlandırmaktı. (\fBSIGXCPU\fR ve \fBSIGXFSZ\fR sinyali için bazı Unix\N'39'lerde öntanımlı davranış bir core çı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 core çıktılamaktadır. Diğer sinyaller aşağıdadır: .nf Sinyal Değer Eylem Açıklama \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \fBSIGIOT\fR 6 Core IOT kapanı. SIGABRT ile eşanlamlı \fBSIGEMT\fR 7,\-,7 Son \fBSIGSTKFLT\fR \-,16,\- Son ek işlemcide yığıt hatası (kullanılmadı) \fBSIGIO\fR 23,29,22 Son G/Ç şimdi nümkün (4.2 BSD) \fBSIGCLD\fR \-,\-,18 Yok SIGCHLD ile eşanlamlı \fBSIGPWR\fR 29,30,19 Son Güç kaybı (System V) \fBSIGINFO\fR 29,\-,\- SIGPWR ile eşanlamlı \fBSIGLOST\fR \-,\-,\- Son Dosya kilidi kaybı \fBSIGWINCH\fR 28,28,20 Yok Pencere boyutlandırma sinyali (4.3 BSD, Sun) \fBSIGUNUSED\fR \-,31,\- Son Kullanılmamış sinyal (SIGSYS olacak) .fi 29 numaralı sinyal bir alpha için \fBSIGINFO\fR / \fBSIGPWR\fR iken sparc için \fBSIGLOST\fR\N'39'dur. \fBSIGEMT\fR sinyali POSIX 1003.1\-2001 standardında belirtilmemesine rağmen çoğu Unix\N'39'de rastlandığı yerde öntanımlı eylem olarak genellikle süreci sonlandırır ve bir core çıktılar. \fBSIGPWR\fR (POSIX 1003.1\-2001 standardında belirtilmemiştir) sinyali de bu Unix\N'39'lerde rastlandığı yerde öntanımlı eylem olarak genellikle yoksayılır. \fBSIGIO\fR (POSIX 1003.1\-2001 standardında belirtilmemiştir) sinyali de başka birçok Unix\N'39'de öntanımlı olarak yoksayılır. .SS Gerçek Zamanlı Sinyaller Linux, POSIX.4\N'39'de tanımlı (ve şimdi POSIX 1003.1\-2001\N'39'de de bulunan) gerçek zamanlı oluşumlar olarak gerçek zamanlı sinyalleri destekler. Linux, 32\N'39'den (\fBSIGRTMIN\fR) 63\N'39'e (\fBSIGRTMAX\fR) kadar numaralı 32 tane gerçek zamanlı sinyal destekler. (Gerçek zamanlı sinyallerin aralıkları Unix\N'39'ler arasında değişiklik gösterdiğinden, uygulamalar gerçek zamanlı sinyalleri daima \fBSIGRTMIN\fR+n sözdizimi ile kullanmalıdır.) 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.) Gerçek zamanlı sinyaller aşağıdaki özelliklere sahiptir: .IP 1. 4 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. .IP 2. 4 Bir sinyal \fBsigqueue\fR(2) kullanılarak gönderilmişse, sinyalle birlikte bir değer (bir tamsayı ya da gösterici) gönderilebilir. Sinyali alan süreç \fBsigaction\fR(2)\N'39'la \fBSA_SIGACTION\fR bayrağını kullanarak bu sinyal için bir tutucu oluşturursa, bu süreç veriyi, tutucuya ikinci argüman olarak aktarılan \fIsiginfo_t\fR yapısının \fIsi_value\fR alanı üzerinden sağlayabilir. Diğer taraftan, bu yapının \fIsi_pid\fR ve \fIsi_uid\fR alanları sinyali gönderen sürecin gerçek kullanıcı kimliği ile süreç kimliğini (PID) elde etmekte kullanılabilir. .IP 3. 4 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.). .PP 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. POSIX\N'39'e uygun olarak, bir oluşum, bir sürece kuyruklanacak gerçek zamanlı sinyallerin sayısının en azından _POSIX_SIGQUEUE_MAX (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 /proc/sys/kernel/rtsig\-max dosyasında görülebilir ve izinlere bağlı olarak değiştirilebilir. /proc/sys/kernel/rtsig\-max ile ilgili bir dosya ile de kaç tane gerçek zamanlı sinyalin kuyruklanmış olduğu görülebilir. .SH UYUMLULUK POSIX.1 .SH YAZILIM HATALARI \fBSIGIO\fR ve \fBSIGLOST\fR 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 \fBSIGLOST\fR olduğunu düşünüyor. .SH İLGİLİ BELGELER \fBkill(1)\fR, \fBkill(2)\fR, \fBsetitimer(2)\fR, \fBsigaction(2)\fR, \fBsignal(2)\fR, \fBsigprocmask(2)\fR, \fBmask(2)\fR, \fBsigqueue(2)\fR. .SH ÇEVİREN Nilgün Belma Bugüner , Kasım 2003