İşletim Sistemleri (Bahar-2016) Hafta-11/1

 #include<iostream>
 #include<signal.h>
 #include<pthread.h>
 #include<sys/syscall.h>
 #include <unistd.h>
 
 using namespace std;
 void yakala(int sinyaltipi)
 {
 	cout<<"Sinyali yakalayan iplik:"<<syscall(SYS_gettid)<<"--"<<endl;
 }
 void * iplik_islem(void *arg)
 {
	cout<<"Kimligim:"<<syscall(SYS_gettid)<<"--"<<endl;
 }
 int main()
 {
 	pthread_t iplik[2];	
 	int i;	
 cout<<"Program:: sinyal yakala"<<endl; 	
 	signal(SIGINT,&yakala);

 cout<<"Program:: create"<<endl;
 	for(i=0;i<2;i++)
 		pthread_create(&iplik[i],NULL,iplik_islem,NULL);	
 cout<<"Program:: SIGINT iplik[0]"<<endl;	
	pthread_kill(iplik[0],SIGINT);

 cout<<"Program:: join"<<endl;
	for(i=0;i<2;i++)
		pthread_join(iplik[i],NULL);
		
 
 }
 .

Terminalde derlemek için: g++ ornek1.cpp -o ornek1 -pthread

Share