İçeriğe geç

Sinyal Çağrısı Kill() Fonksiyonu

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
Kategori:AnasayfaC++İşletim Sistemleri

Bu yazı yorumlara kapalı.

× Nasıl yardımcı olabilirim?