Bu yazımda kill komutunu açıklayıp, örnek yapacağım.
Komutumuz kullanma şekli ; kill(pid_t pid, int sinyal)
İlk parametre proses bilgisini tutar. İkinci parametre yapılmak istenen sinyalin yazıldığı durumdur. Kullanabileceğimiz bazı komutlar:
kill(proc_id, SIGSTOP); —> İlgili prosesi durdurur.
kill(proc_id, SIGTERM); —> Öldürme, sonlandırma.
kill(proc_id, SIGCONT); —> Koda devam eder.
CMD iken duran kod için kill -9 3295 yazılması o kodun normal şekilde sonlaması sağlar.
#include<iostream>
#include<unistd.h>
#include<sys/wait.h>
using namespace std;
int main()
{
pid_t proc_id;
int durum;
cout<<"Basla::"<<getpid()<<endl;
proc_id=fork();
if(proc_id==0)
{
cout<<"Ben Cocuk!::"<<getpid()<<endl;
sleep(10);
}
else
{
cout<<"Ben Anne::"<<getpid()<<" Cocugun id::"<<proc_id<<endl;
//kill(proc_id,SIGTERM);
kill(proc_id,SIGSTOP);
sleep(5);
kill(proc_id,SIGCONT);
waitpid(proc_id,&durum,0);
cout<<"Sonlanma::"<<durum<<endl;
}
return 0;
}
Çıktı :
Basla::3292
Ben Anne::3292 Cocugun id::3294
Ben Cocuk!::3294
Sonlanma::0
Bu yazı yorumlara kapalı.