Süreç Grubu İşlevleri
Önceki İş Denetimi İşlevleri Sonraki
Süreç Grubu İşlevleri
Bu bölümde süreç grupları ile etkileşen işlevlerin açıklamaları bulunmaktadır. Bu işlevleri kullanabilmek için yazılımınıza sys/types.h ve unistd.h başlık dosyalarını dahil etmelisiniz.
pid_t setsid
(void)
işlev
setsid işlevi yeni bir oturum oluşturur. Bu işlevi çağıran süreç oturum lideri haline gelir ve süreç, süreç grubunun kimliği kendi süreç kimliği olan süreç grubuna konur. Başlangıçta yeni süreç grubunda başka süreç ve süreç grubu yoktur.
Bu işlev ayrıca çağrıldığı süreci denetim uçbirimsiz süreç durumuna getirir.
Normalde, setsid işlevi kendini çağıran sürecin yeni süreç grubu kimliği ile döner. Dönüş değeri -1 ise bu bir hata oluştuğunu gösterir. Aşağıdaki errno hata durumu bu işlev için tanımlanmıştır:
EPERM
Çağıran süreç zaten bir süreç grubunun lideri ya da aynı süreç grup kimliğine sahip başka bir süreç grubu var
pid_t getsid
(pid_t pid)
işlev
getsid işlevi belirtilen sürecin oturum liderinin süreç grup kimliğini döndürür. pid'in değeri 0 ise, işlevi çağıran sürecin oturum liderinin süreç grup kimliği döner.
Bir hata oluşmuşsa işlev -1 ile döner ve errno değişkenine şu hata durumlarından biri atanır:
ESRCH
pid kimlikli bir süreç yok
EPERM
Çağıran süreç ve pid ile belirtilen süreç farklı oturumlara ait ve gerçekleme pid ile belirtilen sürecin oturum liderinin süreç grup kimliğine erişime izin vermiyor
getpgrp işlevinin iki tanımı vardır: biri BSD Unix'den diğeri POSIX.1 standardından türetilmiştir. Özellik sınama makrolarıyla hangi tanımı kullanmak istediğinizi belirleyebilirsiniz. Özellikle, BSD sürümünü kullanmak istiyorsanız _BSD_SOURCE; POSIX sürümünü kullanmak istiyorsanız _POSIX_SOURCE veya _GNU_SOURCE makrosunu belirtmelisiniz. Özellikle _BSD_SOURCE altında tanımlı getpgrp işlevini kullanan Eski BSD sistemleri için yazılmış yazılımlar unistd.h başlık dosyasını içermeyecektir. Böyle yazılımların BSD tanımlarını elde etmek için -lbsd-compat ile ilintilemelisiniz.
pid_t getpgrp
(void)
işlev
Çağrıldığı sürecin süreç grup kimliğini döndüren getpgrp işlevinin POSIX.1 tanımı.
pid_t getpgrp
(pid_t pid)
işlev
pid kimlikli sürecin süreç grup kimliğini döndüren getpgrp işlevinin BSD tanımı. pid değeri olarak 0 verirseniz çağrıldığı sürecin süreç grup kimliğini döndürür.
int getpgid
(pid_t pid)
işlev
getpgid işlevi bir BSD işlevi olarak getpgrp işlevi ile aynıdır. pid kimlikli sürecin süreç grup kimliğini döndürür. pid değeri olarak 0 verirseniz çağrıldığı sürecin süreç grup kimliğini döndürür.
Bir hata oluşmuşsa işlev -1 ile döner ve errno değişkenine şu hata durumlarından biri atanır:
ESRCH
Çağıran süreç ve pid ile belirtilen süreç farklı oturumlara ait ve gerçekleme pid ile belirtilen sürecin oturum liderinin süreç grup kimliğine erişime izin vermiyor
int setpgid
(pid_t pid,
 pid_t pgid)
işlev
setpgid işlevi pid sürecini pgid süreç grubuna koyar. Özel bir durum olarak, çağıran süreci belirtmek üzere pid ya da pgid sıfır olabilir.
İş denetimini desteklemeyen bir sistemde işlev başarısız olur. Daha fazla bilgi için İş Denetimi İsteğe Bağlıdır bölümüne bakınız.
İşlem başarılıysa işlev sıfırla döner. Aksi takdirde -1 döner ve errno değişkenine şu hata durumlarından biri atanır:
EACCES
pid kimlikli alt süreç çatallandığında bir exec çağrısı yaptı
EINVAL
pgid değeri geçersiz
ENOSYS
Sistem iş denetimini desteklemiyor
EPERM
pid ile belirtilen süreç ya bir oturum lideri ya da işlevin çağrıldığı süreçle aynı oturumda değil veya pgid argümanı işlevin çağrıldığı süreç ile aynı oturumdaki bir süreç grup kimliğiyle eşleşmiyor
ESRCH
pid kimlikli süreç işlevi çağıran süreç değil ya da işlevi çağıran sürecin bir alt süreci değil.
int setpgrp
(pid_t pid,
 pid_t pgid)
işlev
Bu işlev, setpgid işlevinin BSD Unix sürümüdür. Her iki işlev de tamamen aynı işlemi yapar.
Önceki Üst Ana Başlık Sonraki
Denetim Uçbiriminin İsimlendirilmesi Başlangıç Denetim Uçbirimine Erişim İşlevleri
Bir Linux Kitaplığı Sayfası