我的 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