18

I need get all registered process. I input register(). a

 mnesia_event,kernel_safe_sup,mnesia_monitor,mnesia_snmp_sup,
 mnesia_recover,mnesia_late_loader,mnesia_kernel_sup,inet_db,
 rex,kernel_sup,global_name_server,mnesia_checkpoint_sup,
 file_server_2,user,error_logger,global_group,mnesia_locker,
 standard_error_sup,popd_listener_sup,pop_fsm_sup,dets_sup,
 smtpd_listener_sup,disk_log_sup,disk_log_server,dets|...]

How can i get all names registered process, without | ...] (truncation)?

Thank you.

2240
  • 1,547
  • 2
  • 12
  • 30
0xAX
  • 20,957
  • 26
  • 117
  • 206

4 Answers4

56

> rp(registered()). Documentation here

D.Nibon
  • 2,883
  • 1
  • 19
  • 17
  • +1 for the best solution to this, I missed rp() for a short way to display all of a structure without typing io:format abominations all the time. Thanks for pointing it out! – Peer Stritzinger Mar 24 '11 at 11:07
14

registered() is returning all the processes, but the shell is truncating output.

you can print the result to see everything:

io:format("~p~n", [registered()]).
butter71
  • 2,703
  • 19
  • 12
12

As long as your are in shell you can use regs():

1> regs().

** Registered procs on node nonode@nohost **
Name                  Pid          Initial Call                      Reds Msgs
application_controlle <0.33.0>     erlang:apply/2                   65717    0
code_server           <0.38.0>     erlang:apply/2                  592348    0
disk_log_server       <0.129.0>    disk_log_server:init/1             323    0
disk_log_sup          <0.128.0>    supervisor:disk_log_sup/1          367    0
dtls_connection_sup   <0.70.0>     supervisor:dtls_connectio           84    0
dtls_udp_sup          <0.71.0>     supervisor:dtls_udp_sup/1           81    0
erl_prim_loader       <0.6.0>      erlang:apply/2                24923843    0
erl_signal_server     <0.46.0>     gen_event:init_it/6                 51    0
...

** Registered ports on node nonode@nohost **
Name                  Id              Command
ok
Yan Foto
  • 10,850
  • 6
  • 57
  • 88
4

I believe the easiest way is:

> io:write(registered()).
hdima
  • 3,627
  • 1
  • 19
  • 19