LINUX.ORG.RU

Запрет вывода ошибок на экран...


0

0

Такое вот дело, значит... При вызове mount(...); из проги на С, при монтировании флопа, в некоторых случаях, например, при отсутствии флопа, при неправильном указании файловой системы и т.п.; на экран выволятся сообщения об ошибках... Насколько я понимаю, это сообщения самого кернела. Вопрос такой: каким образом можно запретить вывод этих ошибок на экран?..


Если это сообщение кернела, то можно в настройках сислога посмотреть куда валяться ошибки - и перенаправить их в файл скажем. Если ошибки валят на stderr, то можешь stderr тоже перенаправлять в файл.

Bauron
()

skoree oshibki valyatsya cherez printk i prink est DEBUG_LEVEL postavit maksimalniy budut valitsya tolko fatalnye oshibki (kernel panic :) )

master
()

Дело в том, что я использую syslog(2) и, то ли ничего не понял, то ли оно не работает так, как должно... Я создаю массив char Str[16384] и потом вызываю syslog(6, Str, 16384); И абсолютно ничего не меняется и не происходит... А по идее syslog с первым параметром = 6 должен запретить вывод printk на консоль... В чем проблема?

Akan
() автор топика

Пипл!!! Кто-нить мне может сказать чего-нибудь по этому поводу, плиииз...

Akan
() автор топика

я обычно в таком случае использую pipe(), потом fork(), потом dup2()

int p[2];

pipe(p);
pid = fork();

if (pid == 0) {
dup2(p[1], STDOUT_FILENO);
dup2(p[1], STDERR_FILENO); /* <- этого не надо делать, если не нужны ошибки на терминале!!!!*/
fcntl(p[0], F_SEFL, O_NONBLOCK);
/* дальше запускаю команду с execlp(), например */
}

дальше делаешь с пайпами что хочешь

DOBRO
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.