elektrik port üyelik servisleri elektrik port üyelik servisleri

C Dilinde Process.h Kütüphanesi

Process.h kütüphanesi thread ve program işleyişi ile alakalı fonksiyonlar ve makrolar içeren bir C dili kütüphanesidir. Bu içeriğimizde process.h kütüphanesi fonksiyonlarını sizler için inceledik.



A- A+
20.04.2016 tarihli yazı 12362 kez okunmuştur.
Process.h kütüphanesi thread ve program işleyişi ile alakalı fonksiyonlar ve makrolar içeren bir C dili kütüphanesidir. Process.h kütüphanesi DOS, Windows 3.1x,Win32 ve OS/2 işletim sistemlerinde çalışan birçok C dili derleyicisinde bulunur. Process.h kütüphanesindeki başlıca fonksiyonlar şunlardır;
 

Getpid()


Bu fonksiyon bulunduğu işlem sürecinin ID(işlem kimliği) numarasını geri döndürür. Kullanımı şöyledir; 
 





İlginizi Çekebilir: C Derleyicisi ve Çalışma Prensibi
 
 

_beginthread() ve endthread()


Thread kavramı, birbirinden bağımsız işlemleri ifade eder. Birden fazla thread kullanıldığında ise aynı anda bağımsız olarak işlemler yapılır. C dilinde standart olarak tek bir thread kullanılabilir. Eğer aynı anda program içerisinde farklı işlemleri yürütmek istiyorsak, derleyicimizin ayarlar kısmında multithread seçeneğini seçmeliyiz. Beginthread fonksiyonunda yer alan başlangıç adresi kısmına işlemleri başlatmak istediğimiz değişken, sabit veya fonksiyonun ismi yazılır, ardından unsigned veri tipindeki bellekte kaplamasını düşündüğümüz alan büyüklüğü yazılır. Ardından işlemin sıra numarası sıfırdan başlamak üzere yazılır. Genel kullanımı şöyledir;
 
 
_endthread() fonksiyonu ise _beginthread() ile başlayan işlemleri bitirir. İkisinin kullanımına şöyle bir örnek verilebilir;
 



 

 

_c_exit() ve _cexit()
 

Bu iki fonksiyon birlikte kullanılarak yine C dilinde bulunan exit() fonksiyonunun işlevini yerine getirir. Aralarındaki fark ise exit() fonksiyonu kullanıldığında program exit() fonksiyonu ile sınırlandırılıp aynı zamanda uygulamadan çıkılırken, _c_exit() ve _cexit() fonksiyonları kullanıldıklarında program sonlandırılır ama uygulamadan çıkılmaz. Kullanımı şöyledir;
 

 
  
 
İlginizi Çekebilir: Processing Dili Nedir ? | ElektriPort Akademi

 

Spawn Fonksiyonları
 

_spawn fonksiyonları alt işleyişleri(child process) yüklemek ve çalıştırmak için kullanılan fonksiyonlardır. Bu fonksiyonların işlevleri aynı olup ana programdan alt programa aktarılan komut satırı argümanlarının kullanımında farklılık vardır. Bu fonksiyonların prototipleri şöyledir:
 
int _spawnl(int mode, char *filename, char *arg0,..., char *argn, NULL);
int _spawnle(int mode, char *filename, char *arg0,.., char *argn, NULL, char ** envp);
int _spawnlp(int mode, char *filename, char *arg0,..., char *argn, NULL);
int _spawnlpe(int mode, char *filename, char *arg0,..., char *argn, NULL, char ** envp);
int _spawnv(int mode, char *filename, char ** argv[]);
int _spawnve(int mode, char *filename, char ** argv[], char ** envp);
int _spawnvp(int mode, char *filename, char ** argv[]);
int _spawnvpe(int mode, char *filename, char ** argv[], char ** envp);

e Çevre değişkenlerini kullanıcıdan ister.
l Komut satırı argümanlarını bir liste olarak almaktadır.
p Çalıştırılmak istenen programı path çevre değişkenlerini kullanarak bulur.
v Komut satırı argümanlarını bir dizi olarak almaktadır.
 

Mode
 

Yukarıdaki fonksiyon prototiplerinde görülen mod argümanı bir programın altında başka bir program çalıştırılması sırasında ana programın ve alt programın çalışma şekillerini belirlemekte kullanılır bunlar: 
 

P_WAIT: 
 

Bu komut ile alt program, görüldüğü yerden itibaren yüklenir ve gerçekleştirilir. Alt program sonlandırıldıktan sonra ana program kaldığı yerden devam eder.
 

P_NOWAIT:
 

Bu komut ile ana program eş zamanlı gerçekleştirilir.
 

P_OVERLAY:
 

Bu komut ile ana programdan geri dönülmeyecek şekilde çıkılır ve alt program ana program yerine yürütülür.
 

Filename
 

Alt işleyişte yürütülecek programın ismini belirtir.
 

char arg0,…argn 
 

Bu kısım ana programdan alt programa geçecek olan komut satırı argümanlarını belirtir. Son argümandan sonra NULL veya 0 konularak komut satırı argüman girişinin bittiği belirtilir.
 

char argv[]
 

Bu kısım ana programdan alt programa geçecek olan argümanların dizisini belirtir. Program adı da bu dizinin elemanıdır.
 

int argc 
 

Komut satırı argümanlarının içeren dizinin eleman sayısını verir. Argc-1 dizinin girilen eleman sayısını verir.
 

Char envp[]
 

Bu kısım alt program için çevre değişkenlerini oluşan bir diziyi ifade eder.

Spawn fonksiyonlarını kullanımına aşağıdaki programlar örnek verilebilir.
 


 
Yukarıda aşağıdaki programdan alınacak bilgileri çalıştıracak Elektrikport.exe isimli programı oluşturduk.
 
 
Yukarıdaki programda spawnlp fonksiyonunun içine iki defa çalıştırılacak programın ismi yazılmıştır. Bunlardan biri dosya adı(file name) diğeri ise sıfır indisi olan dizi elemanıdır( char* arg0). Program çalıştırılırken her parametre(argüman)den sonra boşluk bırakarak yeni elemana geçebilirsiniz. Eğer aralarında boşluk olan iki ifadeyi tek argüman olarak almak istiyorsanız çift tırnak işareti içine argümanınızı yazmalısınız.

 

 
Program Çıktısı
 
 
 
Kaynak:

Digital Mars
Fatih Alparslan Fatih Alparslan Yazar Hakkında Tüm yazıları Mesaj gönder Yazdır



Aktif etkinlik bulunmamaktadır.
ANKET
Endüstri 4.0 için En Hazır Sektör Hangisidir

Sonuçlar