Ответ 1
registered() возвращает все процессы, но оболочка усекает вывод.
вы можете распечатать результат, чтобы увидеть все:
io:format("~p~n", [registered()]).
Мне нужен весь зарегистрированный процесс. Я ввожу 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, дец |...]
Как я могу получить все зарегистрированные имена, без |...]?
Спасибо.
registered() возвращает все процессы, но оболочка усекает вывод.
вы можете распечатать результат, чтобы увидеть все:
io:format("~p~n", [registered()]).
> rp(registered()).
Документация здесь
Я считаю, что самый простой способ:
> io:write(registered()).
Пока вы находитесь в оболочке, вы можете использовать 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