Когда я вызываю system (0) , возвращается 0, что означает, что оболочка недоступна .
Когда команда, использующая system (вызывает gcc для компиляции программы hello world), работает нормально, но возвращает -1 (я полагаю, это та же причина, что и для system (0) возвращает 0). Что делает его «недоступным» и почему оно все равно работает?
Компилятор: gcc версии 4.6.1 (Ubuntu / Linaro 4.6.1-9ubuntu3)
ОС: Ubuntu 11.10
EDIT
Errno говорит Нет дочерних процессов .
Я также скомпилировал другую тестовую программу, которая ничего не делает, но вызывает system (0) и возвращает ненулевое значение. Может ли это быть затронуто Code :: Blocks?
EDIT
До сих пор я выяснил, что system (0) дает сбой только после того, как я запускаю свой первый pthread.
решаемые
Я использовал fork в моей ранней реализации одного из этих фрагментов кода:
signal(SIGCHLD,SIG_IGN);
Я использовал его для "обработки" зомби. Я только что узнал, что это вызвало ошибку.