一个小例子来描述如何用Erlang port和外部程序(本例中用GDB)交互。
Erlang/OTP 19 [erts-8.1] [source] [64-bit] [smp:8:8] [async-threads:10] [hipe] [kernel-poll:false]
Eshell V8.1 (abort with ^G)
注释: 清除之前定义的变量
1> f().ok
注释: 打开port,并用binary 方式进行通信,得到port id
#Port<0.451>
注释: flush the buffer, 显示port接收到的内容
Shell got {#Port<0.451>,{data,{eol,<<"GNU gdb (GDB) SUSE (7.5.1-0.7.29)">>}}}
Shell got {#Port<0.451>,
{data,{eol,<<"Copyright (C) 2012 Free Software Foundation, Inc.">>}}}
Shell got {#Port<0.451>,
{data,{eol,<<"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>">>}