LINUX.ORG.RU

FreeBSD и shared memory file

 ,


1

1

Есть код, который маппит шаред мемори:

namespace ipc = boost::interprocess;
sharedMemPool = new ipc::shared_memory_object( ipc::open_only, SHMEM_NAME, ipc::read_only );
mappedRegion = new ipc::mapped_region( *sharedMemPool, ipc::read_only )
Как определить какой файл в ФС freebsd соответствует шаред мемори?
В линуксах я делаю следующим образом:
char line[256] = { '\0' }; /* /path/to/shmem */
std::ostringstream command;
command << "lsof -Fn -p" << getpid() << "|grep " << SHMEM_NAME;
FILE *cmd = popen( command.str().c_str(), "r" );
fgets( line, sizeof(line), cmd );
pclose( cmd );
В freebsd 8.2 даже пути такого нет /dev/shm



Последнее исправление: nerdogeek (всего исправлений: 1)

Ы. Епт. Сделайте меня развидеть это.

tailgunner ★★★★★
()

линукс убивает учеловека последние остатки разума все там есть и даже больше

anonymous
()

Есть код, который маппит шаред мемори:

Ебать тебя перекосило

UVV ★★★★★
()

Я тебе подскажу, тебе стоит начать с ввода следующей команды в консоли:

man 3 shm_open

UVV ★★★★★
()
Ответ на: комментарий от nerdogeek

ipcs показывает созданные объекты разделяемой памяти только для SysV IPC, для posix оно ничего не покажет.

UVV ★★★★★
()

спасибо вам

классный тред -)

Stil ★★★★★
()
Ответ на: комментарий от nerdogeek

Ну раз остатков разума там нет, то о чём разговор тогда? )

UVV ★★★★★
()

command << "lsof -Fn -p" << getpid() << "|grep " << SHMEM_NAME;

Ощутил ненависть к ТСу(

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