Antes de ler as outras respostas, acho que pid_t
existe por razões de portabilidade. Nos bons dias, alguns Unixes tinham short
PIDs, outros tinham int
PIDs, então você define um tipo específico de sistema para PID. Não me lembro de qualquer dor envolvida no uso de int
para um descritor de arquivo, mesmo nos primórdios da 64 bits.