灵活的Ruby系统调用

时间:2012-02-25 05:26:21

标签: ruby multithreading thread-safety

我正在研究Sidekiq工作人员,其唯一目的是进行多次长时间运行的系统调用。我有以下要求:

  • 能够设置环境变量
  • 实时输出(stdout,stderr)流
  • 阻止线程直到完成
  • 获取退出代码
  • 线程安全,因为sidekiq是多线程的(读取:否$?

我在Ruby 1.9.2上运行。感谢您的投入!

1 个答案:

答案 0 :(得分:2)

$?(以及大多数其他“神奇”变量,如$1等)是当前线程的本地,因此使用system$?是完美的线程 - 安全并符合您的所有标准。