`
derlang
  • 浏览: 35292 次
  • 性别: 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 ...

    go开源项目大全(目前最完整)

    看过awesome-go项目, 汇总了很多go开源项目。 但是awesome-go收集了太全了, 而且每个项目没有详细描述。 因此我自己根据go语言中文社区提供的资料,还有互联网企业架构设计中的常见组件分类, 共精心挑选了100多个...

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

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

    qt的开源项目源码

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

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

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

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

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

    Java最著名的开源项目

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

    Android代码-Android 优秀开源项目实现原理解析

    Android 开源项目 Demo 本工程主要用于 Android 优秀开源项目实现原理解析 的 Demo 代码托管 添加规范 各项目需要新建一个属于自己的文件夹,用于后续上传该开源库使用示例工程代码 该文件夹以开源库名-demo命名,...

    视频通话 sipandroid 开源项目源码

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

    经典开源项目1

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

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

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

    pc远控android开源项目

    PC远程登录手机 登录之后,必然涉及到按键的模拟等操作。 三个开源的软件一个是SmartDog Studio的Remote Control Add-on 另一个是Webkey 最后一个是Android自带monkey

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

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

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

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

    Java项目HTTPDNSLib开源源码 Java项目HTTPDNSLib开源源码

    Java项目HTTPDNSLib开源源码Java项目HTTPDNSLib开源源码Java项目HTTPDNSLib开源源码Java项目HTTPDNSLib开源源码Java项目HTTPDNSLib开源源码Java项目HTTPDNSLib开源源码Java项目HTTPDNSLib开源源码Java项目HTTPDNSLib...

    17届全国大学生智能汽车竞赛无线充电组开源项目.zip

    17届全国大学生智能汽车竞赛无线充电组开源项目 17届全国大学生智能汽车竞赛无线充电组开源项目 17届全国大学生智能汽车竞赛无线充电组开源项目 17届全国大学生智能汽车竞赛无线充电组开源项目 17届全国大学生智能...

    Java项目开源源码,共111个

    "Java项目开源源码,共111个" 本资源提供了111个Java项目的开源源码,涵盖了各种Java项目类型,包括Web开发、移动应用开发、桌面应用开发等。这些源码可以作为学习Java编程的参考资源,也可以作为实际项目开发的...

    GitHub开源项目SlidingMenu类库

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

    开源项目- panda,panda开源项目

    panda开源项目,panda开源项目,panda开源项目

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

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

Global site tag (gtag.js) - Google Analytics