Se il processo che hai avviato con system l'hai creato tu...
Allora potresti mandare un messaggio (al termine di quel processo) all'altro programma...

Io Conosco 2 Modi per far comunicare i programmi il primo e' con i Socket e il secondo con i File...

A me diverte piu' quello con i file...Ma la scelta spetta a te...

Programma chiamato con system()
codice:
int main() {
    FILE *fp;
    ....
    fp = fopen("endpgm.skt", "w");
    fclose (fp);

    return 0;
}
Programma Chiamante
codice:
int main() {
    FILE *fp;
    ....
    system (programma_da_chiamare);
    while ((fp = fopen("endpgm.skt", "rb")) == NULL);
    fclose (fp);
    remove ("endpgm.skt");
    remove ("file_da_eliminare");
    ....
    return 0;
}
In Questo modo il programma chiamante lancera' il programma con system e andra' in loop perche' il file "endpgm.skt" non esiste...
Quando il programma chiamato con system terminera creera' il file "endpgm.skt", quindi il programma chiamante lo trovera', uscira' dal while(), eliminera' "endpgm.skt" e eliminera' il file che volevi eliminare...