Проблемы с popen / pclose в Солярисе - PullRequest
0 голосов
/ 18 января 2010

Привет, ребята. Надеюсь, кто-нибудь может мне помочь. Я запускаю простую программу на C, работающую в Solaris 8, и обнаружила проблему при использовании popen / pclose.

FILE * stream; stream = popen ("ps -ef | grep" pattern ");

, если (pclose (поток)) { printf ("Erro no fechamento da stream \ n"); }

Шаблон в команде grep - это просто фильтр, который я использую для обработки меньшего числа строк. Конечно, в моем коде я выполняю некоторую обработку возвращаемого потока, но я уже удалил эту обработку, и ошибка продолжает появляться.

Функция pclose возвращает ошибку 256, которая при использовании WIFEXITED показывает, что это не ненормальное завершение команды, а при использовании WSTATUS отображается ошибка 1, что я точно не знаю, что означает.

Очевидно, это происходит, когда команда возвращает пустую строку или только одну строку.

Кто-нибудь знает, что означает эта ошибка?

Заранее спасибо

1 Ответ

1 голос
/ 18 января 2010

человек 1 grep

СТАТУС ВЫХОДА

Возвращаются следующие значения выхода:

0
Выбрана одна или несколько строк.

1
Строки не выбраны.

> 1
Произошла ошибка.

...