This article is a learning notes while reading the otp-system document.
1, System Principles
First, what's the Erlang running system? is there any difference between erlang and erlang running system?.
Erlang running system is started with command erl [arguments] , and we can get the arguments by init:get_argument(Key) or init:get_arguments() .
The running system can be halted by calling halt/0,1 . The module init contains functions for restarting, rebooting and stopping the runtime system:
init:restart().
init:reboot().
init:stop().
the runtime system is started using a boot script. The boot script contains instructions on which code to load and which processes and applications to start.
A boot script file has extension .script and will be compiled to .boot files. User can specify the boot script file while start Erlang runtime system like this: erl -boot BootScript . The system has two default boot options, both of them are stored in ROOT/bin/ directory, start_clean.boot and start_sasl.boot . User can generate their boot scripts as they wanted, the method we recommened is using systools:make_script/1,2 from a release resource file Name.rel .
We can use the arguments to change code path of Erlang using -pa and -pz options like: erl -pa /home/user/mycode.
2, standard modules and manual
erl -man [module-nam ] This command can fetch the information about the module.
3, Writing output to Standard output
using io:format function. io:format has two arguments, the first is a list writen between " ", This list is printed as it stands, except that each ~w is replaced by a term taken in order from the second list. Each ~n is replaced by a new line. We also can used -/+ to indicate left/write justify, and use number befor w to indicate the field length.