erl_call man page on Ubuntu

Man page or keyword search:  
man Server   6591 pages
apropos Keyword Search (all sections)
Output format
Ubuntu logo
[printable version]

erl_call(1)			 User Commands			   erl_call(1)

NAME
       erl_call - Call/Start a Distributed Erlang Node

DESCRIPTION
       erl_call	 makes it possible to start and/or communicate with a distrib‐
       uted Erlang node. It is built upon  the	erl_interface  library	as  an
       example	application.  Its  purpose  is	to use an Unix shell script to
       interact with a distributed Erlang node. It performs all	 communication
       with  the Erlang rex server, using the standard Erlang RPC facility. It
       does not require any special software to be run at  the	Erlang	target
       node.

       The main use is to either start a distributed Erlang node or to make an
       ordinary function call. However, it is also possible to pipe an	Erlang
       module  to  erl_call  and  have	it  compiled, or to pipe a sequence of
       Erlang expressions to be evaluated (similar to the Erlang shell).

       Options, which cause stdin to be read, can be used  with	 advantage  as
       scripts	from within (Unix) shell scripts. Another nice use of erl_call
       could be from (http) CGI-bin scripts.

EXPORTS
       erl_call <options>

	      Each option flag is described below  with	 its  name,  type  and
	      meaning.

		-a [Mod [Fun [Args]]]]
		    (  optional):  Applies  the specified function and returns
		    the result. Mod must be specified, however []  is  assumed
		    for	 unspecified  Fun and Args. Args should be in the same
		    format as for erlang:apply/3. Note that  this  flag	 takes
		    exactly one argument, so quoting may be necessary in order
		    to group Mod, Fun and Args, in a manner dependent  on  the
		    behavior of your command shell.

		-c Cookie
		    (  optional): Use this option to specify a certain cookie.
		    If no cookie is specified, the  ~/.erlang.cookie  file  is
		    read  and  its content are used as cookie. The Erlang node
		    we want to communicate with must have the same cookie.

		-d  ( optional): Debug mode. This causes all IO to  be	output
		    to	the  file  ~/.erl_call.out.Nodename, where Nodename is
		    the node name of the Erlang node in question.

		-e  ( optional): Reads a sequence of Erlang expressions, sepa‐
		    rated  by ' ,' and ended with a ' .', from stdin until EOF
		    (Control-D). Evaluates the	expressions  and  returns  the
		    result  from  the  last expression. Returns {ok,Result} if
		    successful.

		-h HiddenName
		    ( optional): Specifies the name of the  hidden  node  that
		    erl_call represents.

		-m  (  optional):  Reads  an Erlang module from stdin and com‐
		    piles it.

		-n Node
		    (one of -n, -name, -sname is required): Has the same mean‐
		    ing	 as -name and can still be used for backwards compati‐
		    bility reasons.

		-name Node
		    (one of -n, -name, -sname is required): Node is  the  name
		    of	the  node  to  be  started or communicated with. It is
		    assumed that Node is started with erl -name,  which	 means
		    that  fully	 qualified long node names are used. If the -s
		    option is given, an Erlang node  will  (if	necessary)  be
		    started with erl -name.

		-q  (  optional):  Halts the Erlang node specified with the -n
		    switch. This switch overrides the -s switch.

		-r  ( optional): Generates a random name of  the  hidden  node
		    that erl_call represents.

		-s  (  optional):  Starts  a distributed Erlang node if neces‐
		    sary. This means that in a sequence of calls, where the  '
		    -s'	 and ' -n Node' are constant, only the first call will
		    start the Erlang node. This makes the rest of the communi‐
		    cation very fast. This flag is currently only available on
		    the Unix platform.

		-sname Node
		    (one of -n, -name, -sname is required): Node is  the  name
		    of	the  node  to  be  started or communicated with. It is
		    assumed that Node is started with erl -sname  which	 means
		    that  short node names are used. If -s option is given, an
		    Erlang node	 will  be  started  (if	 necessary)  with  erl
		    -sname.

		-v  (  optional): Prints a lot of verbose information. This is
		    only useful for the developer and maintainer of erl_call.

		-x ErlScript
		    ( optional): Specifies another name of the Erlang start-up
		    script  to	be  used.  If  not specified, the standard erl
		    start-up script is used.

EXAMPLES
       Starts an Erlang node and calls erlang:time/0.

       erl_call -s -a 'erlang time' -n madonna
       {18,27,34}

       Terminates an Erlang node by calling erlang:halt/0.

       erl_call -s -a 'erlang halt' -n madonna

       An apply with several arguments.

       erl_call -s -a 'lists map [{math,sqrt},[1,4,9,16,25]]' -n madonna

       Evaluates a couple of expressions. The input ends with EOF (Control-D).

       erl_call -s -e -n madonna
       statistics(runtime),
       X=1,
       Y=2,
       {_,T}=statistics(runtime),
       {X+Y,T}.
       ^D
       {ok,{3,0}}

       Compiles a module and runs it. Again, the input ends with EOF (Control-
       D). (In the example shown, the output has been formatted afterwards).

       erl_call -s -m -a lolita -n madonna
       -module(lolita).
       -compile(export_all).
       start() ->
	       P = processes(),
	       F = fun(X) -> {X,process_info(X,registered_name)} end,
	       lists:map(F,[],P).
       ^D
       [{<madonna@chivas.du.etx.ericsson.se,0,0>,
			 {registered_name,init}},
	{<madonna@chivas.du.etx.ericsson.se,2,0>,
			 {registered_name,erl_prim_loader}},
	{<madonna@chivas.du.etx.ericsson.se,4,0>,
			 {registered_name,error_logger}},
	{<madonna@chivas.du.etx.ericsson.se,5,0>,
			 {registered_name,application_controller}},
	{<madonna@chivas.du.etx.ericsson.se,6,0>,
			 {registered_name,kernel}},
	{<madonna@chivas.du.etx.ericsson.se,7,0>,
			 []},
	{<madonna@chivas.du.etx.ericsson.se,8,0>,
			 {registered_name,kernel_sup}},
	{<madonna@chivas.du.etx.ericsson.se,9,0>,
			 {registered_name,net_sup}},
	{<madonna@chivas.du.etx.ericsson.se,10,0>,
			 {registered_name,net_kernel}},
	{<madonna@chivas.du.etx.ericsson.se,11,0>,
			 []},
	{<madonna@chivas.du.etx.ericsson.se,12,0>,
			 {registered_name,global_name_server}},
	{<madonna@chivas.du.etx.ericsson.se,13,0>,
			 {registered_name,auth}},
	{<madonna@chivas.du.etx.ericsson.se,14,0>,
			 {registered_name,rex}},
	{<madonna@chivas.du.etx.ericsson.se,15,0>,
			 []},
	{<madonna@chivas.du.etx.ericsson.se,16,0>,
			 {registered_name,file_server}},
	{<madonna@chivas.du.etx.ericsson.se,17,0>,
			 {registered_name,code_server}},
	{<madonna@chivas.du.etx.ericsson.se,20,0>,
			 {registered_name,user}},
	{<madonna@chivas.du.etx.ericsson.se,38,0>,
			 []}]

Ericsson AB		      erl_interface 3.6.4		   erl_call(1)
[top]

List of man pages available for Ubuntu

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net