SİSTEM ÇAĞRILARI PROSES VE İPLİK YÖNETİM ÇAĞRILARI -4-

4-YÜRÜTME ÇAĞRILARI
   Yürütme işlemleri exec() grubu çağrıları ile gerçekleşir.<unistd> kütüphanesi gerekir.


ÖRNEK

   execl() sistem çağrısını kullanarak aynı dizideki kodu verilen merhaba.cpp programının çalıştırılabilir hali olan merhaba isimli dosyayı çalıştıracak kod parçasını yazalım.

#include <iostream>
using namespace std;
int main()

{

cout<<"Merhaba..."<<endl;
}
#include <iostream>
#include <unistd.h>
using namespace std;
int main()
{

execl("merhaba","meraba",NULL);
}
5-KONTROL GRUBU ÇAĞRILARI
  brk(void *veri_bolum_bitisi) ve setsid() çağrıları prosesler için özellik ayarlama çağrılarıdır.(<unistd.h>)

Proseslerin bellekleri 3 kısımdan oluşur.Bunlar işlemcinin temel bellek kesimleriyle aynı mantıkta bölümlü bir yapıdadır.

İlk kısım ---Program kodunun olduğu kod kesimi

İkinci kısım---Verilerin ve değişkenlerin yer aldığı veri kesimi

Üçüncü kısım---Yığının yer aldığı yığın kesimidir.

*******************************************************************************
ÖRNEK

setsid() sistem çağrısını kullanarak kendi SID sini belirleyen bir çocuk prosesin C++ kodunu yazalım.

#include <iostream>
#include <unistd.h>

int main (int argc,const char *argc[])
{

pid_t pid,sid;
pid=fork(); //Forklayarak ana prosesten ayrılıyoruz.
if(pid>0)
{
cout<<"Ana proses çıkar..."<<endl;
return 0; //ana prosesi sonlandırdık
}
sid=setsid(); //Kendi SID imizi oluşturup yetim proses olmaktan kurtuluyoruz.
sleep(5);
cout<<"BITIS..."<<endl;
return 0;

}



























Hiç yorum yok:

Yorum Gönder

Spring Boot Uygulamasını Heroku üzerinde Deploy Etme

Bu yazımızda sizlere spring boot ile yazılmış basit bir Rest api'nin heroku üzerinde nasıl deploy edebileceğimizi göstereceğim. Önce ...