`
derlang
  • 浏览: 35072 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

开源项目egfs

阅读更多
http://projects.trapexit.org/web/#/web/index/all/name/asc/225发现了一个开源项目egfshttp://code.google.com/p/egfs/,与俺的efs目的类似,同时发现了fuserl和fuserldrv,完成了fuse的erlang port驱动(support port+linkedin port),可以试试。

安装完毕后,在.erlang下面加入fuserl的代码路径:
引用

code:add_patha("...").

    include_lib is similar to include, but should not point out an absolute file. Instead, the > first path component (possibly after variable substitution) is assumed to be the name of an > application. Example:

    -include_lib("kernel/include/file.hrl").

    The code server uses code:lib_dir(kernel) to find the directory of the current (latest) > version of Kernel, and then the subdirectory include is searched for the file file.hrl.


erl +A 64
> application:start(fuserl).
> application:start(fuserlproc).
> file:list_dir("/erlproc").

gj@uss:~$ ll /proc/21270/fd
total 0
lrwx------ 1 gj gj 64 2010-02-20 11:24 0 -> /dev/pts/4
lrwx------ 1 gj gj 64 2010-02-20 11:24 1 -> /dev/pts/4
lrwx------ 1 gj gj 64 2010-02-20 11:24 2 -> /dev/pts/4
lr-x------ 1 gj gj 64 2010-02-20 11:24 3 -> pipe:[294864]
l-wx------ 1 gj gj 64 2010-02-20 11:24 4 -> pipe:[294863]
lrwx------ 1 gj gj 64 2010-02-20 11:24 5 -> /dev/fuse

  open_port ({ spawn, Dir ++ "/bin/fuserldrv" }, [ binary, 
                                                   { packet, 4 },
                                                   nouse_stdio,
                                                   exit_status ]);

# pstree -ap

  ├─gnome-terminal,12461
  │   ├─bash,12465
  │   │   └─vim,24326 mds/mds/main.c
  │   │       ├─cscope,24360 -dl -f ../../cscope.out
  │   │       └─{vim},24327
  │   ├─bash,13467
  │   │   └─su,14662
  │   │       └─bash,14663
  │   │           └─vim,19922 ./lib/mount.c
  │   │               └─{vim},19923
  │   ├─bash,15897
  │   ├─bash,19578
  │   ├─bash,19680
  │   ├─bash,21147
  │   │   └─beam.smp,25268 -A 2 -- -root /usr/local/lib/erlang -progname erl -- -home /home/gj --
  │   │       ├─fuserldrv,25290
  │   │       ├─{beam.smp},25272
  │   │       ├─{beam.smp},25273
  │   │       ├─{beam.smp},25274
  │   │       ├─{beam.smp},25275
  │   │       ├─{beam.smp},25276
  │   │       ├─{beam.smp},25277
  │   │       ├─{beam.smp},25278
  │   │       └─{beam.smp},25279


libfuse与fuse kernel module用打开/dev/fuse返回的fd进行通信。
在open_port时指定选项nouse_stdio,现在外部程序用fd 3 && 4与模拟器进行通信。
外部程序fuserldrv是beam.smp的子进程。
分享到:
评论

相关推荐

    90几套Unity开源项目.txt

    根据提供的文件信息,我们可以从标题、描述以及标签中提炼出几个关键知识点,这些知识点主要围绕“Unity开源项目”展开。接下来将对这些知识点进行详细阐述。 ### 一、Unity开源项目的概念 Unity是一款由Unity ...

    优秀开源项目(基于VC++和MFC)(基于VC++和MFC的一些优秀开源项目)

    基于VC++和MFC的一些优秀开源项目列表 包括7-Zip,eMule,FileZilla,MiKTeX,Nokia Composer等优秀项目,有兴趣的同行可以参考参考。

    qt的开源项目源码

    QT开源项目源码是软件开发领域中的宝贵资源,尤其对于想要深入理解图形用户界面(GUI)编程、跨平台应用开发以及C++编程实践的开发者来说,具有极高的学习价值。QT是一个广泛使用的开源框架,由Qt公司开发并维护,它...

    借助开源项目,学习软件开发

    在IT行业中,软件开发是一项核心技能,而开源项目则是学习这项技能的重要途径。开源项目意味着源代码对公众开放,允许任何人查看、学习甚至修改。这种开放性为新手开发者提供了宝贵的资源,使他们能够深入理解软件...

    基于Python Django框架的Smart Mall在线商城开源项目

    项目名称:Smart Mall - 基于Python Django的在线商城开源项目 技术栈:主要采用Python编程语言,结合HTML和JavaScript实现前端交互。 项目构成:总计24个文件,具体包括: - Python源文件(.py):16个,涵盖了...

    Android开源项目汇总

    Android开源项目汇总 Android 开源项目软件apk Android 开源项目软件apk=============最全的自定义控件等等===========

    Java最著名的开源项目

    在Java的生态系统中,存在诸多著名的开源项目,这些项目各有特色,为Java开发人员提供了丰富的开发工具和应用架构。以下是对一些Java著名开源项目的详细介绍,它们分别在不同的开发领域中扮演着重要角色。 首先,...

    基于Python Flask的在线成绩发布学习平台开源项目

    项目概述:基于Python Flask的在线成绩发布学习平台是一个开源项目,...该项目旨在为广大用户提供一个便捷的在线学习环境,集中管理和发布学生的成绩信息,其开源性质允许并鼓励用户根据自身需求进行定制化修改和扩展。

    蓝湖移动端辅助工具开源项目下载

    蓝湖移动端辅助工具是一款专为开发者设计的开源项目,旨在简化移动端开发过程中控件属性的复制和粘贴操作。此工具的最新版本为v1.0.2,它能够极大地提高开发效率,尤其是在处理iOS和Android平台上的布局时。通过一键...

    黄敬群:参与国际开源项目经验谈

    黄敬群是一位活跃于开源社区的开发者和创业者,参与并贡献了多个开源项目,其中包括轻量级桌面环境LXDE、为Java定制的GCC工具链、Android开源项目、Linaro以及Linux国际化项目SCIM等。在他的经验分享中,黄敬群强调...

    5个好玩的github游戏区开源项目

    在 IT 领域,开源项目一直扮演着重要的角色,它们不仅推动了技术的发展,也为开发者提供了学习和实践的平台。对于游戏爱好者来说,GitHub 上有许多有趣的开源游戏项目,能够让我们深入了解游戏开发的过程,甚至参与...

    VUE相关开源项目

    Vue相关开源项目库汇总

    视频通话 sipandroid 开源项目源码

    原来的网上的开源项目很多都跑不起来,这个项目,经本人修改,经测试在android4.0系统上运行已经没问题,研究了下,发现对需要做视频通话的人来讲还是有很大帮助,特此贡献出来,供大家研究学习,压缩文件是在linux...

    经典开源项目1

    【标题】"经典开源项目1"揭示了我们讨论的主题,这是一个关于开源软件的集合,特别是针对安卓平台。开源项目在IT行业中占据着重要的位置,它们促进了技术创新,为开发者提供了学习和改进现有技术的机会。这些项目...

    基于React和Echart的数据可视化大屏开源项目

    项目概述:本项目是一款基于React和Echart技术的开源数据可视化大屏应用,主要采用TypeScript进行开发,辅以JavaScript、CSS和HTML等语言。项目包含616个文件,其中主要包括385个JSON配置文件,95个PNG图像资源,...

    为知笔记开源项目程序源码,实现云笔记功能需要自己搭建服务器

    为知笔记开源项目程序源码,实现云笔记功能需要自己搭建服务器 为知笔记开源项目程序源码,实现云笔记功能需要自己搭建服务器 为知笔记开源项目程序源码,实现云笔记功能需要自己搭建服务器 为知笔记开源项目程序...

    教你如何用Github找开源项目(保姆级教程)

    教你如何用Github找开源项目(保姆级教程)教你如何用Github找开源项目(保姆级教程)教你如何用Github找开源项目(保姆级教程)教你如何用Github找开源项目(保姆级教程)教你如何用Github找开源项目(保姆级教程)教你...

    数字人开源项目_(Digital_human_project)_MiniMeta.zip

    数字人开源项目_(Digital_human_project)_MiniMeta

    Google 开源项目风格指南

    Google 开源项目风格指南 每个较大的开源项目都有自己的风格指南: 关于如何为该项目编写代码的一系列约定 (有时候会比较武断). 当所有代码均保持一致的风格, 在理解大型代码库时更为轻松. “风格” 的含义涵盖范围...

    GitHub开源项目SlidingMenu类库

    GitHub开源项目SlidingMenu的类库,导入之后可以直接使用 教程地址:http://blog.csdn.net/yangyu20121224/article/details/9255829

Global site tag (gtag.js) - Google Analytics