C语言中fork()系统进程的问题

我在代码中使用fork()函数产生了一个子进程B,原来父进程记为A,这两个进程会同时进行互不干扰没错,如果我在B进程中使用exec()系统函数去执行另一个程序,这个进程叫做C,那么exec()函数正常运行会结束B进程,而执行C进程,但是我想问一下如何控制C进程结束后再让A进程继续执行呢?
如果是wait(),或者waitpid()函数,如何写呢,就是对于这两个函数,调用的地方在哪里,是父进程会停在那里,还是别的。
谢啦

在A进程中起一个线程去判断C进程是否存在,如果存在就在那wait

直接A进程中fork完了以后,就wait,然后C进程中来设置信号通知

在A中fork完了直接waitpid即可。