it编程 > 前端脚本 > Erlang

Erlang中执行linux命令的两种方法

151人参与 2024-05-15 Erlang

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 和执行结果。

(0)
打赏 微信扫一扫 微信扫一扫

您想发表意见!!点此发布评论

推荐阅读

Erlang实现的百度云推送Android服务端实例

05-15

Erlang中3种生成随机数的方法

05-15

Erlang的一些编程技巧分享

05-15

Erlang中的函数与流程控制介绍

05-15

CentOS 6.5源码安装Erlang教程

05-15

Erlang语法学习笔记:变量、原子、元组、列表、字符串

05-15

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论