For example, the following code
Make_process (list) When is_list (list)->
Pid1 = spawn (fun ()-> do_action (list) end), register (pid1, pid1), pid2 = spawn (fun ()-> do_action () end ), register (pid2, pid2 ).
Do_action (list)->
Receive {OK, data}-> IO: Format ("Hello world !~ N ") End, do_action (list ).
Do_action ()->
IO: Format ("XXXXXXXX ~ N ").
After the execution is complete, you can view through is_process_alive (where (pid1) that the pid1 process is still being executed. The pid2 process does not exist after it has been executed.
Therefore, to generate a continuously running process in Erlang, it needs to be continuously executed. Receive accepts the message, receives the message, deletes it from the message mailbox, and then
Wait until messages are received. This is the lifecycle of the Erlang process.
Erlang process execution cycle