Чтение из /proc (Чтение данных из /proc)
Модератор: Модераторы разделов
-
LilFox
- Сообщения: 137
- Статус: ^^.,
- ОС: Gentoo Linux
Чтение из /proc
Доброго здравия.
Так нужно прочитать данные из /proc/ системы, в часности /proc/cmdline - там храниться параметры загрузки ядра. И это надо прочитать.
Так нужно прочитать данные из /proc/ системы, в часности /proc/cmdline - там храниться параметры загрузки ядра. И это надо прочитать.
Best Wishes. LilFox
Won't someone help me find my little Clare.
Won't someone help me find my little Clare.
-
MedVed
- Сообщения: 112
Re: Чтение из /proc
Я, конечно, могу ошибаться, но разве open(...) / gets(...) не сработают? (это если на C). Соотвественно, fstream в С++.
Или NIX не дает читать proc/cmdline как обычный файл?
Или NIX не дает читать proc/cmdline как обычный файл?
МСВС 3.0/Linux Mandrake 8.0
-
LilFox
- Сообщения: 137
- Статус: ^^.,
- ОС: Gentoo Linux
Re: Чтение из /proc
Ну я пробывал прочесть как pipe или как говорится бинарник - ничего, пусто...
Мне нужен С, С++ не нужен
Мне нужен С, С++ не нужен
Best Wishes. LilFox
Won't someone help me find my little Clare.
Won't someone help me find my little Clare.
-
polachok
- Бывший модератор
- Сообщения: 2199
- Статус: главный форумный маргинал
- ОС: gnu/linux
-
FreeNUX
- Сообщения: 185
- Статус: с сириуса
- ОС: FreeBSD 6.2
Re: Чтение из /proc
Попробуй man stdio
Аркона – лишь тихие воды,
Кровью варяжской янтарь в них застыл.
Аркона – там ветер со взморья
В трещинах скал своё сердце забыл.
Темнозорь - Аркона (Вольницей В Просинь Ночей - 2005)
Кровью варяжской янтарь в них застыл.
Аркона – там ветер со взморья
В трещинах скал своё сердце забыл.
Темнозорь - Аркона (Вольницей В Просинь Ночей - 2005)
-
LilFox
- Сообщения: 137
- Статус: ^^.,
- ОС: Gentoo Linux
Re: Чтение из /proc
Для polachok: Угу, но мне Не нужен cat ни less - мне нужен код...
Для FreeNUX: Вот уж там точно ничго нет.
Для FreeNUX: Вот уж там точно ничго нет.
Best Wishes. LilFox
Won't someone help me find my little Clare.
Won't someone help me find my little Clare.
-
d_Sun
- Сообщения: 291
-
LilFox
- Сообщения: 137
- Статус: ^^.,
- ОС: Gentoo Linux
Re: Чтение из /proc
Код: Выделить всё
#include <stdio.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
int main(int argc, char** argv)
{
int fd;
FILE *file;
char cmdline[256]="";
fd = open("/proc/cmdline", O_RDONLY);
if (fd == -1) ///ЭЭЭ, я совсем забыл умный метод !fd;)
perror("open:");
while (read(fd,cmdline,256)); //reading the line
printf("cmdline: %n",cmdline);
close(fd);
return 0;//success
}Не работает
Best Wishes. LilFox
Won't someone help me find my little Clare.
Won't someone help me find my little Clare.
-
d_Sun
- Сообщения: 291
Re: Чтение из /proc
Код: Выделить всё
#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
int main()
{
char cmdline [ 256 ] = "";
int fd = open ( "/proc/cmdline", O_RDONLY );
while ( read ( fd, cmdline, sizeof ( cmdline ) ) > 0 )
{
printf ( "Params: %s", cmdline );
}
return 0;
}P.S. Учим С/С++! :devil_2:
Моя подпись сильно длинная :)
-
LilFox
- Сообщения: 137
- Статус: ^^.,
- ОС: Gentoo Linux
Re: Чтение из /proc
ТАк, чуствую меня так никгода не пинало - хотя было несколько раз :
на
Видать когда писал выпустил, недописал два символа =).
P.S
Учим С, С++ не учим!
Код: Выделить всё
printf("cmdline: %n",cmdline);на
Код: Выделить всё
printf("cmdline: %s\n",cmdline);Видать когда писал выпустил, недописал два символа =).
P.S
Учим С, С++ не учим!
Best Wishes. LilFox
Won't someone help me find my little Clare.
Won't someone help me find my little Clare.
-
d_Sun
- Сообщения: 291
Re: Чтение из /proc
Очень даже зря!
Код: Выделить всё
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
string sBuf;
ifstream ifsCmdLine ( "/proc/cmdline" );
while ( ! ifsCmdLine.eof() )
{
getline ( ifsCmdLine, sBuf );
cout<<sBuf<<endl;
}
ifsCmdLine.close();
return 0;
}Моя подпись сильно длинная :)
-
LilFox
- Сообщения: 137
- Статус: ^^.,
- ОС: Gentoo Linux
Re: Чтение из /proc
Да я не спорю, но мне нужен С, а не С++.
Эх, а чтобы кто не говорил В Никсах Рулит С а не его старший брат - кто бы что не говорил, ФАКТЫ НА ЛИЦО.
Я так понимаю, это Linux'овый форум??? )
ЛАдно вобщем с /proc разобрались - может у кого появятся вопросы
....
Эх, а чтобы кто не говорил В Никсах Рулит С а не его старший брат - кто бы что не говорил, ФАКТЫ НА ЛИЦО.
Я так понимаю, это Linux'овый форум??? )
ЛАдно вобщем с /proc разобрались - может у кого появятся вопросы
Best Wishes. LilFox
Won't someone help me find my little Clare.
Won't someone help me find my little Clare.
-
d_Sun
- Сообщения: 291
Re: Чтение из /proc
([MP]DisconNecT @ Среда, 27 Июля 2005, 22:30) писал(а):Да я не спорю, но мне нужен С, а не С++.
Эх, а чтобы кто не говорил В Никсах Рулит С а не его старший брат - кто бы что не говорил, ФАКТЫ НА ЛИЦО.
Я так понимаю, это Linux'овый форум??? )
ЛАдно вобщем с /proc разобрались - может у кого появятся вопросы....
Неа :P В Никсах можно написать на С++ все, и не мение эффективно чем на С! :P
P.S. Не хотелось бы разводить здесь флейм, но какие такие ФАКТЫ НА ЛИЦО? :devil_2:
Моя подпись сильно длинная :)
-
LilFox
- Сообщения: 137
- Статус: ^^.,
- ОС: Gentoo Linux
Re: Чтение из /proc
Когды ты пишешь плагин на Сишнкую прогу - сишная прога так не думает, А НА СИ ой как многа прог - возмем одну единственную - ядро.
Best Wishes. LilFox
Won't someone help me find my little Clare.
Won't someone help me find my little Clare.
-
d_Sun
- Сообщения: 291
Re: Чтение из /proc
([MP]DisconNecT @ Пятница, 29 Июля 2005, 11:12) писал(а):Когды ты пишешь плагин на Сишнкую прогу - сишная прога так не думает, А НА СИ ой как многа прог - возмем одну единственную - ядро.
З.Ы. Ниче не понял
Моя подпись сильно длинная :)
-
FreeNUX
- Сообщения: 185
- Статус: с сириуса
- ОС: FreeBSD 6.2
Re: Чтение из /proc
Для [MP]DisconNecT:
Внимательнее смотреть надо, не обязательно использовать низкоуровневые - open(), write() и т. д.(это к вопросу о производительности), можно заюзать fopen() для открытия файла на чтение/запись и fgets() или getc() (по желанию), для чтения из этого файла.
Внимательнее смотреть надо, не обязательно использовать низкоуровневые - open(), write() и т. д.(это к вопросу о производительности), можно заюзать fopen() для открытия файла на чтение/запись и fgets() или getc() (по желанию), для чтения из этого файла.
Аркона – лишь тихие воды,
Кровью варяжской янтарь в них застыл.
Аркона – там ветер со взморья
В трещинах скал своё сердце забыл.
Темнозорь - Аркона (Вольницей В Просинь Ночей - 2005)
Кровью варяжской янтарь в них застыл.
Аркона – там ветер со взморья
В трещинах скал своё сердце забыл.
Темнозорь - Аркона (Вольницей В Просинь Ночей - 2005)
-
LilFox
- Сообщения: 137
- Статус: ^^.,
- ОС: Gentoo Linux
Re: Чтение из /proc
Для d_Sun: Короче, попробуй на CPP настрочить какой-нить драйвер или что-нить под ядро
.
Best Wishes. LilFox
Won't someone help me find my little Clare.
Won't someone help me find my little Clare.
-
d_Sun
- Сообщения: 291
Re: Чтение из /proc
([MP) писал(а):DisconNecT,Суббота, 30 Июля 2005, 6:16]Для d_Sun: Короче, попробуй на CPP настрочить какой-нить драйвер или что-нить под ядро.
Короче попробовал :devil_2: И не один драйвер ( это моя работа - системный программист ) :devil_2: А в чем собственно проблема? Вы вообще хоть представление имеете о предмете ( С++ )? :devil_2: Похоже нет
З.Ы. Мир не такой узкий как вам кажется!
d_Sun добавил в 30.07.2005 11:59
(FreeNUX @ Суббота, 30 Июля 2005, 2:10) писал(а):Для [MP]DisconNecT:
Внимательнее смотреть надо, не обязательно использовать низкоуровневые - open(), write() и т. д.(это к вопросу о производительности), можно заюзать fopen() для открытия файла на чтение/запись и fgets() или getc() (по желанию), для чтения из этого файла.
Абсолютно верно! Более того read() в исполнений [MP]DisconNecT - понизит производительность в общем случае чтения файла
Код: Выделить всё
#define SYSBUF 8192
int main()
{
char cBuf [ SYSBUF ];
int fd = open ( "/proc/cmdline", O_RDONLY );
while ( ( read ( fd, cBuf, SYSBUF ) > 0 )
{
// Do some output? :)
}
return 0;
}Производительность буде выше чем в случае fopen() и fgets()
Но это все фигня :megalol:
З.Ы. И еще забыл сказать что этот буфер может быть другого размера для другой unix os.
Моя подпись сильно длинная :)
-
LilFox
- Сообщения: 137
- Статус: ^^.,
- ОС: Gentoo Linux
Re: Чтение из /proc
Для d_Sun: ДА имею =), но как не странно весь код дровишек наблюдал Сишный, может мне просто не везло и я не встречал Cpp-шный
, сам пробывал написать - НЕполучилось, после этого выкинул я чортов CPP на свалку, а начал изучать Си
... вот и все
С планином, который мне пришлось писать - такая же ботва, xchat мне просто сказал - что такой-то symbol not found и все, даже если я компилил g++, а код был сишный - хотя в принципе УЖЕ не важно, я сам не против С++, но как и большинство Испозую Си и все, если от меня не требуется изобретать новую Микроволновку в проге - Си самое то
Да я кстате уже напсилал, то зачем обращался
) - именно нА си И именно через open() и read() и Притом Использовал САМЫЕ что ненаесть Велосипедно-Богомерзкие движки для сортировки и принятия решения )))) - а так ничего работает 
С планином, который мне пришлось писать - такая же ботва, xchat мне просто сказал - что такой-то symbol not found и все, даже если я компилил g++, а код был сишный - хотя в принципе УЖЕ не важно, я сам не против С++, но как и большинство Испозую Си и все, если от меня не требуется изобретать новую Микроволновку в проге - Си самое то
Да я кстате уже напсилал, то зачем обращался
Best Wishes. LilFox
Won't someone help me find my little Clare.
Won't someone help me find my little Clare.
-
d_Sun
- Сообщения: 291
Re: Чтение из /proc
To [MP]DisconNecT:
Ок... Прекращаем этот бессмысленный спор
Ок... Прекращаем этот бессмысленный спор
Моя подпись сильно длинная :)