Bu komut aktif olan proses içine yazılan prosesin, herhangi bir alt prosesin işlemini bitirmesi için beklemesidir. Sonlanmadığı taktirde program da sonlanmaz. Prosesin işlem yapmama, bekleme durumudur. İpliklerde pthread_join() ifadesi bu görevi görüyordu
Waitpid(pid, int durum, int seçenek); şeklinde kullanılır. Tek bir parametreyi tutar. Bu parametre adres bilgisini tutar. Beklenen proses sonlandığında, sonlanan bu prosesin çıkış değerini tutar. 3 şekilde kullanılabilir.
1. parametre : Beklenecek olan proses ID’si yazılır. Herhangi bir çocuk proses beklenecekse ilk parametreye “-1” değeri girilir.
2. parametre : Bu parametre adres tutar. Beklenen proses sonlandığında int *durum olarak belirttiğimiz ikinci parametre ifadesi, sonlanan bu prosesin çıkış değerini tutar.
3. parametre : Özellikler parametresidir. “0” veya bazı özel değerler alır. Sıfır haricinde 3 değer alır.
WNOHANG  : Hiçbir çocuk proses sonlanmıyorsa hemen geri dönmeyi belirtir.
WUNTRACED : Çocuk proses durdurulduğunda geri dönülecektir.
WCONTINUED : Durdurulan çocuk proses SIGCONT sinyali aldığında geri döner. 
#include<iostream>
#include<unistd.h>
#include<sys/types.h>
#include<sys/wait.h>
using namespace std;
int main()
{
	pid_t pid;
	cout<<"Proc id:"<<getpid()<<endl;
	pid=fork();
	if(pid==0) // cocuk	
	{
		cout<<"BEN COCUK, PROC ID:"<<getpid()<<endl;
		cout<<"COCUK: BEN UYUDUM"<<endl;
		sleep(20);
		cout<<"COCUK: BEN UYANDIM"<<endl;
		cout<<"COCUK: BEN SONLANDIM"<<endl;
	}
	else{
		if(pid>-1)
			cout<<"COCUK PID:"<<pid<<endl;
		else
			cout<<"COCUK OLUSMADI"<<endl;	 
		cout<<"ANNE PID:"<<getpid()<<endl;
		
		waitpid(pid,0,0);
		cout<<"ANNE: BEN SONLANDIM"<<endl;
	}
	return 0;
}
Çıktı :
Proc id:20326
COCUK PID:20328
ANNE PID:20326
BEN COCUK, PROC ID:20328
COCUK: BEN UYUDUM
COCUK: BEN UYANDIM
COCUK: BEN SONLANDIM
ANNE: BEN SONLANDIM
					
Bu yazı yorumlara kapalı.