【发布时间】:2012-12-28 18:24:49
【问题描述】:
我的 ruby 脚本应该处理多个外部进程,所以我想知道如何将不同进程的输出重定向到不同的日志文件。另外,由于外部过程需要相当长的时间才能完成,并行处理它们的最佳方法是什么?
由于我是 ruby 新手,我可以向您展示一个 shell 等效代码:
LOGDIR="/tmp/test"
for host in $( h1 h2 h3 h4 ); do
( ssh root@${host} 'sh /tmp/scripttorun' >> ${LOGDIR}/${host}.log 2>&1 ) &
sleep 5
done
wait #wait for all subprocesses to complete
【问题讨论】:
-
对这些“外部过程”的性质进行一些澄清会有所帮助。这些是命令行进程吗?你在打电话休息网址吗?
-
是的,它们是命令行程序,可以使用 net/ssh 在多个系统上执行。
标签: ruby multithreading file-io