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;
}
SİSTEM ÇAĞRILARI PROSES VE İPLİK YÖNETİM ÇAĞRILARI -4-
Kaydol:
Kayıt Yorumları (Atom)
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 ...
-
Bu yazımda hobi olarak ilgilendiğim bug bounty'i anlatmaya çalışacağım. Daha sonra bu konu üzerinde kendimizi geliştirmek için neler yap...
-
Flip-Flop doğruluk tabloları girişlerin durumuna bağlı olarak çıkışların ne olması gerektiğini anlatan tablolardır. Kısaca bir doğruluk tabl...
Hiç yorum yok:
Yorum Gönder