erl_call man page on Kali

Man page or keyword search:  
man Server   9211 pages
apropos Keyword Search (all sections)
Output format
Kali 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  start  and  []  are
		  assumed  for	unspecified  Fun  and Args, respectively. 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 suc‐
		  cessful.

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

		-m:
		  (optional):  Reads  an Erlang module from stdin and compiles
		  it.

		-n Node:
		  (one of -n, -name, -sname is required): Has the same meaning
		  as  -name  and can still be used for backwards compatibility
		  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 necessary.
		  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  communication  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.7.20		   erl_call(1)
[top]

List of man pages available for Kali

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