Eri*_*rik 3 ruby unix shell process multitasking
鉴于这个Unix shell脚本:
test.sh:
#!/bin/sh
sleep 2 &
sleep 5 &
sleep 1 &
wait
Run Code Online (Sandbox Code Playgroud)
时间./test.sh
real 0m5.008s
user 0m0.040s
sys 0m0.000s
Run Code Online (Sandbox Code Playgroud)
你如何在Unix机器上用Ruby完成同样的事情?
sleep命令只是一个例子,只是假设它们是长时间运行的外部命令.
直接来自Process#waitall文档:
fork { sleep 0.2; exit 2 } #=> 27432
fork { sleep 0.1; exit 1 } #=> 27433
fork { exit 0 } #=> 27434
p Process.waitall
Run Code Online (Sandbox Code Playgroud)
当然sleep,您可以使用Kernel#system或反引号操作符调用任何外部命令,而不是使用Ruby .
| 归档时间: |
|
| 查看次数: |
3010 次 |
| 最近记录: |