0 рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛
рдПрдХ рдореЙрдбрд▓ рджреБрдирд┐рдпрд╛ рдирд╣реАрдВ рд╣реИред рдордиреБрд╖реНрдп рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордЭ рдирд╣реАрдВ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо рдХреЗрд╡рд▓ рдЗрд╕рдХреЗ рдореЙрдбрд▓ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдХрд╛ рдЕрдзреНрдпрдпрди рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕реВрдЪрдирд╛ рд╕реНрдерд╛рди (рдпрд╛ рд╣рдорд╛рд░реЗ рдкреНрд░рдореБрдЦ) рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдХреЗ рдПрдХ рд╣рд┐рд╕реНрд╕реЗ рдХреА рдкреВрд░реНрдгрддрд╛, рд╕рдлрд▓рддрд╛, рдЙрддреНрддрд░рдЬреАрд╡рд┐рддрд╛ рдЗрд╕ рдмрд╛рдд рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИ рдХрд┐ рд╣рдо рдХрд┐рд╕ рдореЙрдбрд▓ рдХреЛ рдЪреБрдирддреЗ рд╣реИрдВред
рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХрд╛ рдЕрдкрдирд╛ рдкреНрд░рддрд┐рдорд╛рди рд╣реЛрддрд╛ рд╣реИред рдХрд╛рд░реНрдпрд╛рддреНрдордХ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ, рдХрдореНрдкреНрдпреВрдЯреЗрд╢рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреА рдЧрдгрдирд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХреА рдЬрд╛рддреА рд╣реИ, рдЕрдирд┐рд╡рд╛рд░реНрдп рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ, рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВред
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд▓реЗрдЦрдХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдПрд░реНрд▓рд╛рдВрдЧ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░реЗрдЧрд╛, рдЬрд┐рд╕рдХреЗ рдкреНрд░рддрд┐рдорд╛рди рдЗрд╕ рддрд░рд╣ рд▓рдЧ рд╕рдХрддреЗ рд╣реИрдВ: "рд╕рдм рдХреБрдЫ рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИред" рдЗрд╕ рд▓реЗрдЦ рдХреЗ рдкрд╣рд▓реЗ рднрд╛рдЧ рдореЗрдВ, рд╣рдо рдЖрдкрд╕ рдореЗрдВ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдФрд░ рд╕рдВрдЪрд╛рд░ рдХреА рдкреГрд╖реНрдарднреВрдорд┐ рдХреА рдЬрд╛рдирдХрд╛рд░реА рджреЗрдВрдЧреЗ, рджреВрд╕рд░реЗ рдореЗрдВ, рд╣рдо рдПрд░рд▓рд╛рдВрдЧ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рднреАрддрд░ рдирд┐рдпреЛрдЬрди рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реЗрдВрдЧреЗред рдпрд╣ рд▓реЗрдЦ рдЙрди рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реИ рдЬреЛ рдПрд░рд▓рд╛рдВрдЧ рднрд╛рд╖рд╛ рдореЗрдВ рдЬрдЯрд┐рд▓, рдмрд╣реБ-рдереНрд░реЗрдбреЗрдб рдФрд░ рджреЛрд╖-рд╕рд╣рд┐рд╖реНрдгреБ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдмрдирд╛рдирд╛ рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
1 рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ
Erlang рднрд╛рд╖рд╛ рдЙрди рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдПрдХ рд╣рд▓реНрдХрд╛ рдореЙрдбрд▓ рд▓рд╛рдЧреВ рдХрд░рддреА рд╣реИ рдЬреЛ рдПрдХ рдЖрднрд╛рд╕реА рдорд╢реАрди рдореЗрдВ рдЪрд▓рддреА рд╣реИрдВ - BEAM (рдмреЛрдЧрдбрд╛рди / Bj├╢rn рдХреА Erlang Abstract рдорд╢реАрди), рдпрд╣ рдореЙрдбрд▓ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:
- рдЬрд▓реНрджреА рд╕реЗ рдмрдирд╛рдиреЗ, рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдирд╖реНрдЯ;
- рд╕рдВрджреЗрд╢ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдмреАрдЪ рдмрд╛рддрдЪреАрдд рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рд╣реИ;
- рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рд╕реНрдореГрддрд┐ рд╕рд╛рдЭрд╛ рдирд╣реАрдВ рдХрд░рддреА рд╣реИрдВ рдФрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд╣реИрдВ;
- рдЖрдк рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдБ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ;
- рдПрд╕рдПрдордкреА рдкрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдЖрд╕рд╛рди рд╕реНрдХреЗрд▓рд┐рдВрдЧред
рез.рез рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирд┐рд░реНрдорд╛рдг
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рд╕реНрд▓реИрд╢ рдЙрди рддрд░реНрдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдлрд╝рдВрдХреНрд╢рди рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ):
- рдПрд░реНрд▓рд╛рдВрдЧ: рд╕реНрдкреЙрди / 1/2/3/4 - рдПрдХ рдирд┐рдпрдорд┐рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрдирд╛рдПрдВ;
- erlang: spawn_link / 1/2/3/4 - рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрдирд╛рдПрдВ рдФрд░ рдЗрд╕реЗ рдХреЙрд▓рд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕рд╛рде рд╕рдВрдмрджреНрдз рдХрд░реЗрдВ;
- erlang: spawn_monitor / 1/3;
- рдкреВрд▓: pspawn / 3 - рдкреВрд▓ рдореЗрдВ рдиреЛрдбреНрд╕ (рдиреНрдпреВрдирддрдо рд▓реЛрдб) рдореЗрдВ рд╕реЗ рдПрдХ рдкрд░ рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрдирд╛рдПрдВ;
- рдкреВрд▓: pspwn_link / 3 - рдкрд┐рдЫрд▓реЗ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдХреЗ рд╕рдорд╛рди, рдХреЗрд╡рд▓ рдХреЙрд▓рд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдФрд░ рдирд┐рд░реНрдорд┐рдд рд╣реЛрдиреЗ рдХреЗ рдмреАрдЪ рдПрдХ рдХрдиреЗрдХреНрд╢рди рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг [1] рдореЗрдВ, рдХреЛрдИ рднреА рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ рд╣реЗрд░рдлреЗрд░ рдХрд░рдиреЗ рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рд╕реЗ рдХрдИ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЕрдм рдПрдХ рд╕рд░рд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдЪрд▓рд╛рддреЗ рд╣реИрдВред рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рд╢реЗрд▓ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:
Eshell V5.8 (abort with ^G)
1> Fun = fun() -> receive after infinity -> ok end end.
#Fun<erl_eval.20.67289768>
2> Pid = spawn(Fun).
<0.33.0>
3>
рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдореЗрдВ, рд╣рдо рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рддреЗ рд╣реИрдВ рдЬреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдирд┐рдХрд╛рдп рд╣реЛрдЧрд╛, рдлрд┐рд░ рд╕реНрдкреЙрди / 1 рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрд╡рдпрдВ рдмрдирд╛рдПрдВ, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрдирд╛рдИ рдЧрдИ рд╣реИ рдФрд░ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ <0.33.0> рдХреЛ рдЗрд╕реЗ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИред рдЕрдм рд╣рдо рдлрд╝рдВрдХреНрд╢рди рдХреЛ c: i / 0 (c рд╡рд╣ рдореЙрдбреНрдпреВрд▓ рдХрд╣рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ Erlang рд╢реЗрд▓ рдореЗрдВ рд╕рдВрд╡рд╛рджрд╛рддреНрдордХ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рд╢рд╛рдорд┐рд▓ рд╣реИрдВ):
3> i().
Pid Initial Call Heap Reds Msgs
Registered Current Function Stack
<0.0.0> otp_ring0:start/2 987 2581 0
...
<0.33.0> erlang:apply/2 233 18 0
erl_eval:receive_clauses/8 10
рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛рдо рдХрд░ рд░рд╣реА рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдкрд░ рдирдЬрд░ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдкреИрдорд╛рди рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЛ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ:
5> pman:start().
<0.37.0>
6>

1.2 рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдЪрд╛рд░
рдЕрдм рдЖрдЗрдП рд╕рдмрд╕реЗ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ рдХрд┐ рдХреИрд╕реЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд░ рд╕рдХрддреА рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ рдЫреЛрдЯрд╛ рдореЙрдбреНрдпреВрд▓ рд▓рд┐рдЦреЗрдВрдЧреЗ (рдПрд░рд▓рд╛рдВрдЧ рдкрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓рд┐рдЦрдиреЗ рдФрд░ рдбрд┐рдмрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд▓реЗрдЦрдХ Emacs + Erlang рдореЛрдб + рдбрд┐рд╕реНрдЯрд▓ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ):
- -рдореЙрдбреНрдпреВрд▓ (рдЦрд░реАрдж)ред
- -рдПрдХреНрд╕рдкреЛрд░реНрдЯ ([рдкреНрд░рд╛рд░рдВрдн / 0, рдкреА / 0])ред
- start () ->
- рд╕реНрдкреЙрди (proc, p, [])ред
- p () ->
- рдкреНрд░рд╛рдкреНрдд
- {Pid, Msg} рдЬрдм is_pid (Pid) -> рд╣реИ
- io: рдкреНрд░рд╛рд░реВрдк ( "рд╣реИрд▓реЛ рд╕реЗ рдкреНрд░реВрд╡: ~ рдкреА, рдореЗрд╕рдЧ: ~ рдкреА ~ рдПрди" , [рдкреАрдЖрдИрдбреА, рдПрдордПрд╕рдЬреА]),
- рдкреАрдЖрдИрдбреА! рд╕рдВрджреЗрд╢,
- рдкреА ();
- рд░реЛрдХ ->
- рдареАрдХ;
- _ ->
- io: рдкреНрд░рд╛рд░реВрдк ( "рдЕрдЬреНрдЮрд╛рдд рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╕рдВрджреЗрд╢ ~ n" , []),
- рдкреА ()
- рдЕрдВрддред
рдореЙрдбреНрдпреВрд▓ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ: рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдирд╛рдо рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреА рд╣реИ, рдЗрд╕реЗ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдирд╛рдо рд╕реЗ рдореЗрд▓ рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдлрд╝рд╛рдЗрд▓ рдХреЛ proc.erl рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ), рджреВрд╕рд░реА рдкрдВрдХреНрддрд┐ рдореЗрдВ рд╣рдо рджреЛ рдлрд╝рдВрдХреНрд╢рди рдирд┐рд░реНрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ, рдкрд╣рд▓реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ рдФрд░ рджреВрд╕рд░рд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред рд╢рд░реАрд░ рдХрд╛ рдХрд╛рд░реНрдпред рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рддреАрди рддрд░реНрдХреЛрдВ рдХреЗ рд╕рд╛рде рд╕реНрдкреЙрди рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдЯрдкрд▓ {M, F, A} рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ M рд╡рд╣ рдореЙрдбреНрдпреВрд▓ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди F рд╕реНрдерд┐рдд рд╣реИ, рддрд░реНрдХ A рдХреА рд╕реВрдЪреА рдХреЗ рд╕рд╛рде рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдХреЛрдИ рддрд░реНрдХ рдирд╣реАрдВ рд╣реИ) ред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирд┐рдХрд╛рдп рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
Receive
Pattern1 when Guard1 -> exp-11,...exp-1n;
...
Pattern1 when Guard1 -> exp-m1,...exp-mn
after Time -> exp-k1,...exp-kh
End
рдЬрд╣рд╛рдВ рдкреИрдЯрд░реНрди рдкреНрд░рд╛рдкреНрдд рд╕рдВрджреЗрд╢ рдХреЗ рдорд┐рд▓рд╛рди рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╣реИ, рдПрдордПрд╕ рдореЗрдВ рдЗрдВрдЧрд┐рдд рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрдерд┐рддрд┐, рд╕рдордп - рдЯрд╛рдЗрдорд░, рдПрдордПрд╕ рдореЗрдВ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрдЧрд░ рдХрддрд╛рд░ рдПрдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рдордп рдХреЗ рд▓рд┐рдП рдЦрд╛рд▓реА рд╣реИред
рдЕрдм рд╣рдорд╛рд░реЗ рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдВ рдФрд░ рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред
1> c("proc").
{ok,proc}
2> Pid = proc:start().
<0.37.0>
3> Pid ! {self(), "Hello from shell"}.
Hello from proc: <0.30.0>, mesg: "Hello from shell"
{<0.30.0>,"Hello from shell"}
4> flush().
Shell got "Hello from shell"
ok
5>
рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдореЗрдВ, рд╣рдо рдЕрдкрдиреЗ рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдлрд┐рд░ рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрдирд╛рддреЗ рд╣реИрдВред рдЪрд░ Pid рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ!, рдПрдХ рд╕рдВрджреЗрд╢ рдХреЛ tuple {self (), "..."} рдХреЗ рд░реВрдк рдореЗрдВ рднреЗрдЬрддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рд╕реНрд╡ / 0 рдлрд╝рдВрдХреНрд╢рди рдЙрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЛ рд╡рд╛рдкрд╕ рд▓реМрдЯрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╣рдо - рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдПрдХ рд╕рдВрд╡рд╛рджрд╛рддреНрдордХ рд╢реЗрд▓ рд╣реИред
рдПрдХ рд╕рдВрджреЗрд╢ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдмрдирд╛рдИ рдЧрдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЙрд╕реЗ рдХрддрд╛рд░ рд╕реЗ рдмрд╛рд╣рд░ рд▓реЗ рдЬрд╛рддреА рд╣реИ рдФрд░ {Pid, Msg} рдХреЗ рд╕рд╛рде рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд░рддреА рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╡рд╣ рдкреНрд░рд╛рдкреНрдд рд╕рдВрджреЗрд╢ рдХреЛ рд╡рд╛рдкрд╕ рднреЗрдЬрддреА рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдлреНрд▓рд╢ / 0 рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЗрдВрдЯрд░реЗрдХреНрдЯрд┐рд╡ рд╢реЗрд▓ рдореЗрдВ рднреЗрдЬреЗ рдЧрдП рд╕рднреА рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рддреНрдпрд╛рдЧрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдПрдХ рдмреНрд▓реЙрдХ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред
рдПрдХ рдЕрднреНрдпрд╛рд╕ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ рдкрд╛рдардХреЛрдВ рдХреЛ рджреЛ рд╕реНрд╡рддрдВрддреНрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВ, рдЬреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпреВрд░рд╛рд▓рдВрдЧ рд╢реЗрд▓ рд╕реЗ рдХрдорд╛рдВрдб рдкрд░, рдкрд╣рд▓рд╛ рдирдВрдмрд░ рдХреА рдПрдХ рдЬреЛрдбрд╝реА рдХреЛ рджреВрд╕рд░реЗ рдкрд░ рднреЗрдЬрддрд╛ рд╣реИ, рдЬреЛ рдЙрдиреНрд╣реЗрдВ рд░рдХрдо рджреЗрддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╡рд╛рдкрд╕ рдкрд╣рд▓реЗ рднреЗрдЬрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╢реЗрд▓ рдореЗрдВ рдЙрддреНрддрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред
2 рдЧрд╣рд░реА рдЦреБрджрд╛рдИ
рдЖрдЗрдП рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХреБрдЫ рдФрд░ рдореБрджреНрджреЛрдВ рдХреЛ рджреЗрдЦреЗрдВ: рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЕрдиреБрд╕реВрдЪрдХ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд, рдпрд╣ рджреЗрдЦреЗрдВ рдХрд┐ рдЖрдк рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдЬрд╛рдирдХрд╛рд░реА рд╕реАрдЦ рд╕рдХрддреЗ рд╣реИрдВред
реи.рез рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЕрдиреБрд╕реВрдЪрдХ
рдПрд░рд▓рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рдпреЛрдЬрдирд╛ рдХрдЯреМрддреА рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рддрд░реНрдХ рдФрд░ рдЧрдгрд┐рдд рдореЗрдВ рдХрдореА рдЬрдЯрд┐рд▓ рд╕реЗ рд╕рд░рд▓ (рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛) рдХреЛ рдХрдо рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд╛рд░реНрдХрд┐рдХ рдФрд░ рддрд░реАрдХрд╛ рд╣реИред рдПрдХ рдХрдореА рд▓рдЧрднрдЧ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рддрдм рддрдХ рдЪрд▓рдиреЗ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдЗрд╕реЗ рдЗрдирдкреБрдЯ рдХреЗ рдЗрдВрддрдЬрд╛рд░ рдореЗрдВ рдирд┐рд▓рдВрдмрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ (рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕рдВрджреЗрд╢, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдирд┐рд▓рдВрдмрд┐рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдмреНрд▓реЙрдХ рдореЗрдВ рд╣реИ) рдпрд╛ рдЬрдм рддрдХ рдПрди рдХрдЯреМрддреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рд╕рдЯреАрдХ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде, рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд╣реАрдВ рди рдХрд╣реАрдВ рдпрд╣ рдкрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдпрд╣ 1000 рд╣реИ рдХрдЯреМрддреА)ред
рдРрд╕реЗ рдХрд╛рд░реНрдп рд╣реИрдВ рдЬрд┐рдирдХреЗ рд╕рд╛рде рдЖрдк рдирд┐рдпреЛрдЬрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (erangang: рдпреАрд▓реНрдб / 0, erlang: bump_reductions / 1), рд▓реЗрдХрд┐рди рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рджреБрд░реНрд▓рдн рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рдЬреИрд╕рд╛ рдХрд┐ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ [1], рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рднрд╡рд┐рд╖реНрдп рдХреЗ рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рдмрджрд▓рд╛ рдпрд╛ рд╣рдЯрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ) )ред рд╕рдВрджреЗрд╢ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реЗрдбреНрдпреВрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬреИрд╕реЗ рд╣реА рдПрдХ рд╕рдВрджреЗрд╢ рдЗрд╕рдХреА рдХрддрд╛рд░ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдмреНрд▓реЙрдХ рдЖрдЧ рдореЗрдВ рдПрдХ рдЯрд╛рдЗрдорд░ рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдЗрд╕реЗ рдЕрдиреБрд╕реВрдЪрдХ рдХрддрд╛рд░ рдореЗрдВ рдЕрдВрддрд┐рдо рд╕реНрдерд╛рди рдкрд░ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрд░рд▓рдВрдЧ рдХреА 4 рд▓рд╛рдЗрдиреЗрдВ рд╣реИрдВ: рдЕрдзрд┐рдХрддрдо (рдЕрдзрд┐рдХрддрдо), рдЙрдЪреНрдЪ (рдЙрдЪреНрдЪ), рд╕рд╛рдорд╛рдиреНрдп (рд╕рд╛рдорд╛рдиреНрдп) рдФрд░ рдХрдо (рдХрдо)ред рдЕрдиреБрд╕реВрдЪрдХ рдкрд╣рд▓реЗ рдХрддрд╛рд░ рдореЗрдВ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рд╕рд╛рде рдЦреЛрдЬреЗрдЧрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рддрдм рддрдХ рд╢реБрд░реВ рдХрд░реЗрдЧрд╛ рдЬрдм рддрдХ рдХрд┐ рдХрддрд╛рд░ рдЦрд╛рд▓реА рди рд╣реЛ рдЬрд╛рдП, рдлрд┐рд░ рдЙрдЪреНрдЪ рдХрддрд╛рд░ рдореЗрдВ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╣реАред рдлрд┐рд░, рдмрд╢рд░реНрддреЗ рдХрд┐ рдХреЛрдИ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдЕрдзрд┐рдХрддрдо рдФрд░ рдЙрдЪреНрдЪ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рди рд╣реЛрдВ, рд╢реЗрдбреНрдпреВрд▓рд░ рд╕рд╛рдорд╛рдиреНрдп рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рд╕рд╛рде рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рд╢реБрд░реВ рдХрд░реЗрдЧрд╛, рдЬрдм рддрдХ рдХрд┐ рдХрддрд╛рд░ рдЦрд╛рд▓реА рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдпрд╛ рдЬрдм рддрдХ рдХрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдХрдЯреМрддреА рдирд╣реАрдВ рдХрд░рддреА рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдЕрдиреБрд╕реВрдЪрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдХрдо рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рд╕рд╛рде рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИред
рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдФрд░ рдирд┐рдореНрди рдХреЛ рдЖрдкрд╕ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рд╛рдорд╛рдиреНрдп рдХреЗ рд╕рд╛рде рд╕реИрдХрдбрд╝реЛрдВ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рд╣реИрдВ рдФрд░ рдХрдо рдХреЗ рд╕рд╛рде рдХрдИ рд╣реИрдВ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЕрдиреБрд╕реВрдЪрдХ рдкрд╣рд▓реЗ рдирд┐рдореНрди рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рд╕рд╛рде рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА рд╕рд╛рдорд╛рдиреНрдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
2.2 рдЖрдВрддрд░рд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рдЬрд╛рдирдХрд╛рд░реА
рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдмрд╣реБрдд рд╣реА рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ: erlang: process_info / 1 рдпрд╛ erlang: process_info / 2, рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдк рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢рдмреНрджрдХреЛрд╢, рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╣рдХрд░реНрддрд╛, рдЖрдХрд╛рд░, рд▓рд┐рдВрдХ рдХреА рдЧрдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдФрд░ рдЕрдиреНрдп рд░реЛрдЪрдХ рдЪреАрдЬреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдкреВрд░реНрдг) рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рд╕реВрдЪреА рджреЗрдЦреЗрдВ [1])ред
рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдкрд╣рд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг (рдПрдХ рддрд░реНрдХ рдХреЗ рд╕рд╛рде) рдХреЗрд╡рд▓ рдбрд┐рдмрдЧрд┐рдВрдЧ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИ - рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдкреВрд░рд╛ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рджреЗрддрд╛ рд╣реИ, рдмрд╛рдХреА рд╕рдм рдХреЗ рд▓рд┐рдП рджреВрд╕рд░реЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрддрд╛ рд╣реИред
рдЖрдЗрдП рдПрдХ рд╕рд░рд▓ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦреЗрдВ рдЬреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░реЗрдЧрд╛: рдкрдВрдЬреАрдХреГрдд рдирд╛рдо; рд╡рд╣ рдХрд╛рд░реНрдп рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЙрддреНрдкрдиреНрди рд╣реБрдИ рдереА; рд▓рд┐рдВрдХ рдХреА рдЧрдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рд╕реВрдЪреАред
- -рдореЙрдбреНрдпреВрд▓ (рдкрд░реАрдХреНрд╖рдг)ред
- -рдПрдХреНрд╕рдкреЛрд░реНрдЯ ([рдЬрд╛рдирдХрд╛рд░реА / 1])ред
- рдЬрд╛рдирдХрд╛рд░реА (Pid) ->
- рдпреБрдХреНрддрд┐ = [рдкрдВрдЬреАрдХреГрдд_рдирд╛рдо, рдкреНрд░рд╛рд░рдВрднрд┐рдХ_ рд▓рд┐рдВрдХ, рд▓рд┐рдВрдХ],
- рдХреЗрд╕ process_info (Pid, рдХрд▓реНрдкрдирд╛)
- рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд ->
- рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд;
- рдкрд░рд┐рдгрд╛рдо ->
- [{pid, Pid} | рдкрд░рд┐рдгрд╛рдо]
- рдЕрдВрддред
рдкрдВрдХреНрддрд┐ 5 рдореЗрдВ, рд╣рдо рдПрдХ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧреАред рд╣рдо рд╢реЗрд▓ рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╣реИрдВ, рдореЙрдбреНрдпреВрд▓ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╣реИрдВред
3> processes().
[<0.0.0>,<0.3.0>,<0.5.0>,<0.6.0>,<0.8.0>,<0.9.0>,<0.10.0>,
<0.11.0>,<0.12.0>,<0.13.0>,<0.14.0>,<0.15.0>,<0.16.0>,
<0.17.0>,<0.18.0>,<0.19.0>,<0.20.0>,<0.21.0>,<0.23.0>,
<0.24.0>,<0.25.0>,<0.26.0>,<0.30.0>]
4> test:info(pid(0,0,0)).
[{pid,<0.0.0>},
{registered_name,init},
{initial_call,{otp_ring0,start,2}},
{links,[<0.5.0>,<0.6.0>,<0.3.0>]}]
5>
рдкрдВрдХреНрддрд┐ 3 рдореЗрдВ рд╣рдореЗрдВ рд╕рднреА рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдорд┐рд▓рддреА рд╣реИ, рдлрд┐рд░ рд╣рдо рдЕрдкрдиреЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдкрдВрдЬреАрдХреГрдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдирд╛рдо <0.0.0> init рд╣реИ, рдЗрд╕реЗ otp_ring0: start / 2 рдФрд░ рддреАрди рдЕрдиреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдЗрд╕рд╕реЗ рд▓рд┐рдВрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЕрдЧрд▓реЗ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдПрдХ рджреВрд╕рд░реЗ рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдФрд░ рдЙрдирдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рджреЗрдЦреЗрдВрдЧреЗред
рд╕рдВрджрд░реНрдн
1.
рдЙрддреНрдХреГрд╖реНрдЯ рдСрдирд▓рд╛рдЗрди рдкреНрд░рд▓реЗрдЦрди ред
2.
рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмреБрдирд┐рдпрд╛рджреА рдЬрд╛рдирдХрд╛рд░реА ред
3.
рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдбрд┐рдЬрд╛рдЗрди рдореЗрдВ рд╕рдмрд╕реЗ рдЖрдЧреЗ ред
4. рдлреНрд░рд╛рдВрд╕реЗрд╕реНрдХреЛ рд╕реЗрд╕рд░рд┐рдиреА рдФрд░ рд╕рд╛рдЗрдорди рдереЙрдореНрдкрд╕рди рджреНрд╡рд╛рд░рд╛ ERLANG рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ
5.
рдирд┐рдпреЛрдЬрди рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ ред