Handle a signal: Difference between revisions

add erlang (escript) implementation
(Handle a signal en FreeBASIC)
(add erlang (escript) implementation)
Line 533:
9
Program has run for 5 secs, 4 ms, 357 ╬╝s, and 4 hnsecs</pre>
 
=={{header|Erlang|escript}}==
 
<lang Erlang>#! /usr/bin/env escript
 
main([]) ->
erlang:unregister(erl_signal_server),
erlang:register(erl_signal_server, self()),
Start = seconds(),
os:set_signal(sigquit, handle),
Pid = spawn(fun() -> output_loop(1) end),
receive
{notify, sigquit} ->
erlang:exit(Pid, normal),
Seconds = seconds() - Start,
io:format("Program has run for ~b seconds~n", [Seconds])
end.
 
seconds() ->
calendar:datetime_to_gregorian_seconds({date(),time()}).
 
output_loop(N) ->
io:format("~b~n",[N]),
timer:sleep(500),
output_loop(N + 1).
</lang>
 
=={{header|F_Sharp|F#}}==
Anonymous user