Я использую popen () для вызова другой программы и хочу получить ее возвращаемое значение в $?
ex:
FILE* fd = popen("/usr/local/my_check > /dev/null ; echo $?","r");
int read_num = fread(buffer, sizeof(char), BUFFER_SIZE, fp);
printf("%s\n", buffer);
pclose(fd);
, но я всегда получаю ноль в функции prinf.
любой другой способ получить возвращаемое значение на $?в программе c?
спасибо!
Вот правильный способ получить код возврата программы:
int ret = pclose(fd);
if(WIFEXITED(ret))
printf("%d\n", WEXITSTATUS(ret));