Вы можете использовать waitpid
, чтобы узнать, запущен ли дочерний процесс:
int status;
if (waitpid(pid, &status, WNOHANG) == 0) {
// still running
}
При WNOHANG
, waitpid
немедленно возвращается, чтобы программа могла сделать что-то еще.
Если вам нечего делать, кроме ожидания завершения дочернего процесса, позвоните waitpid
без WNOHANG
.