J'ai pas tres bien suivi, mais :
L'utilité des thread, c'est de partager un meme espace de donnée d'un processus.
Donc un main, un processus, plusieurs thread.
Si tu modifi ton programme, et crée 2 processus, il n'y a plus aucun partage de donnée, ton mutex n'est plus commun, quelque soit son adresse "virtuelle" !
Apparemment, tu veux juste synchroniser 2 processus, et dans ce cas, l'ipc est la solution.
Comme le dit Lam's, utilise des signaux, SIGUSR1 par exemple, redefinir le handler etc...
a+