知识屋:更实用的电脑技术知识网站
所在位置:首页 > 电脑技术

Erlang中执行linux命令的方法 Erlang中怎么执行linux命令

发布时间:2017-03-30 13:53:16作者:知识屋

Erlang中执行linux命令的方法 Erlang中怎么执行linux命令  os.cmd(Cmd)

  os模块提供了cmd函数可以执行linux系统shell命令(也可以执行windows命令)。返回一个Cmd命令的标准输出字符串结果。例如在linux系统中执行os:cmd("date")。 返回linux的时间。 这种比较简单,一般情况下,也满足了大部分需求。

  erlang:open_port(PortName, PortSettings)

  当os.cmd(Cmd) 满足不了你的需求的时候,就可以用强大的open_port(PortName, PortSettings) 来解决了。最简单的需求,我要执行一个linux命令,而且还需要返回退出码。os.cmd(Cmd) 就有些捉急了。也不要以为有了open_port(PortName, PortSettings) 就可以完全替代os.com(Cmd) 了。强大是需要代价的。

  %% 优点:可以返回exit status 和执行过程

  %% 缺点: 非常影响性能, open_port执行的时候,beam.smp会阻塞

  当对本身系统的性能要求比较高的时候,不建议使用erlang:open_port(PortName, PortSettings) .

  下面是一段很好用的代码,返回exit status 和执行结果。

 

Erlang中执行linux命令的方法 Erlang中怎么执行linux命令

 

(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜