Hum, d´une maniere ou d´une autre, tu dois pouvoir récupérer le PID des processus.
Pour les fonctions dessus, de tete je ne sais pas, par contre, si tu regardes "signal.h" et sa documentation, tu trouveras ton bonheur.
En ce qui me concerne, je déteste la programmation qui utilise les signaux, je ne l´utilise pas. Le seul interet que j´y vois est de pouvoir killer un processus que je n´ai pas fait a partir d´un autre, chose que je ne trouve pas grandement intéressant (sous Linux, autant faire un kill -9 sous la console...)
Sinon, si tu fais de la programmation multiprocessus (et c´est toi qui a programmé chaque processus), utilise un pipe pour les échanges de données entre eux.
Voir meme, si tu pars en threading, utilise des variables partagées, protégées par des mutex.