Çıkış Durumu
Önceki Yazılımın Sonlandırılması Sonraki
Çıkış Durumu
Bir yazılım çıkarken, çıkış durumunu kullanarak, sürecini başlatan sürece sonlanmasının sebebi ile ilgili küçük bir bilgi verir. Bu değer 0 ile 255 arasındadır ve yazılım tarafından exit işlevinde argüman olarak belirtilerek sürece aktarılır.
Normalde, başarı ya da başarısızlık hakkında bilgi vermek için çıkış durumunu kullanmalısınız. Başarısızlık durumunda sebebi için daha fazla bilgi sağlayamazsınız ve zaten çoğu üst süreç de çok fazla ayrıntı istemez.
Yazılımların dönüş değerleri ile ilgili bazı uzlaşımlar vardır. En bilinen uzlaşım başarı durumunda 0, başarısızlık durumunda 1 döndürmektir. Karşılaştırma işlemleri yapan uygulamalar biraz daha farklı bir uzlaşım kullanır: eşleşmeme durumunda 1, karşılaştırmanın yapılamaması durumunda 2 döndürürler. Sizin yazılımınızın da çıkış durumu uzlaşımlarına uygun davranması için mevcut uzlaşımlardan size uygun olanını kullanmalısınız.
Genel bir uzlaşımda, çıkış durumu 128 özel amaçlar için ayrılır. Kısmen, 128 değeri bir alt süreç olarak çalıştırılan başka bir yazılımın çalıştırılmasında başarısızlığı gösterir. Bu uzlaşım evrensel değildir ama yazılımlarınızda buna uyarsanız iyi olur.
Uyarı
Hata sayısını çıkış durumu olarak kullanmayın. Bu aslında hiç de kullanışlı değildir; bir üst süreç genelde kaç tane hata oluştuğu ile ilgilenmez. Dahası, bu çoğunlukla çalışmaz, çünkü çıkış değeri sekiz bitle sınırlıdır. Bu nedenle eğer yazılımınız 256 hata raporlamak isterse üst süreç 0 hatalık bir rapor alacaktır, normal olarak da bu, bir başarı göstergesidir.
Aynı sebeple errno değeri de çıkış durumu olarak kullanılmamalıdır, çünkü hata kodları 255'i aşar.
Taşınabilirlik Bilgisi
POSIX olmayan bazı sistemlerde çıkış durumu değerleri için farklı uzlaşımlar kullanılır. Daha yüksek taşınabilirlik açısından başarı ve başarısızlık durumlarının uzlaşımsal durum değerleri olarak EXIT_SUCCESS ve EXIT_FAILURE makrolarını kullanabilirsiniz. Bu makrolar stdlib.h başlık dosyasında bildirilmiştir.
int EXIT_SUCCESS
makro
Bu makro exit işlevinde yazılımın başarıyla tamamlandığını belirtmek için kullanılabilir.
POSIX sistemlerinde, bu makronun değeri 0'dır. Başka sistemlerde (sabit olmaması olası) bir tamsayı ifadesi olabilir.
int EXIT_FAILURE
makro
Bu makro exit işlevinde yazılımın başarısızlıkla sonlandığını belirtmek için kullanılabilir.
POSIX sistemlerinde, bu makronun değeri 1'dir. Başka sistemlerde (sabit olmaması olası) bir tamsayı ifadesi olabilir. Sıfırdan farklı diğer değerler de ayrıca birer başarısızlık gösterirler. Belli başlı bazı uygulamalar başarısısızlık çeşidini belirten farklı çıkış durum değerleri kullanırlar. Örneğin diff dosyaların farklı olduğunu 1 ile, dosyaların açılışındaki zorlukları ise 2 ve üstü değerlerle ifade eder.
Bir yazılımın çıkış durumu ile bir sürecin sonlanma durumunu birbirine karıştırmayın. Bir sürecin yazılımının bitişinin yanında sonlanmasının bir çok sebebi olabilir. Sürecin sonlanması sırasında sebep yazılımının sonlanması (yani exit) ise, yazılımın çıkış durumu, sürecin sonlanma durumunun bir parçası haline gelir.
Önceki Üst Ana Başlık Sonraki
Normal Sonlandırma Başlangıç Çıkışta Temizlik
Bir Linux Kitaplığı Sayfası