Подтвердить что ты не робот

Erlang показать весь зарегистрированный процесс

Мне нужен весь зарегистрированный процесс. Я ввожу register(). a

[первонач, mnesia_subscr, timer_server, mnesia_controller,  mnesia_event, kernel_safe_sup, mnesia_monitor, mnesia_snmp_sup,  mnesia_recover, mnesia_late_loader, mnesia_kernel_sup, inet_db,  рекс, kernel_sup, global_name_server, mnesia_checkpoint_sup,  file_server_2, пользователь, 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, дец |...]

Как я могу получить все зарегистрированные имена, без |...]?

Спасибо.

4b9b3361

Ответ 1

registered() возвращает все процессы, но оболочка усекает вывод.

вы можете распечатать результат, чтобы увидеть все:

io:format("~p~n", [registered()]).

Ответ 3

Я считаю, что самый простой способ:

> io:write(registered()).

Ответ 4

Пока вы находитесь в оболочке, вы можете использовать regs():

1> regs().

** Registered procs on node [email protected] **
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 [email protected] **
Name                  Id              Command
ok