点击(此处)折叠或打开
- %% func: 并发在远程执行任务
- %% author: lover
- -module(spawn_ssh).
- -compile(export_all).
- %% 控制并发数量
- loop_openssh(N) ->
- L = for(1,N,fun(X) -> spawn(?MODULE,openssh,[X]) end),
- io:format("~p~n",[L]).
- openssh(N) ->
- %% 这里是示例命令 ifconfig eth0
- %% 可以改造成为从io输入或者从文件获取命令
- %% 这里woker_nodes_XX是集群中的nodes主机的主机名字
- Ret = os:cmd(lists:concat(["echo 'ifconfig eth0' | ","ssh woker_nodes_",N])),
- GoodRet = string:tokens(Ret,"\n"),
- io:format("this is ~pth job~n++++++++++++++~n~p~n",[N,GoodRet]).
- %% 自定义的for循环
- for(N,N,F) -> [F(N)];
- for(I,N,F) -> [F(I) | for(I+1,N,F)].