Когда использовать каждый метод запуска подпроцесса в Ruby

1. « Обратный апостроф

1. a) % x {} Percent X
  • , определенный в parse.y, см. обсуждение

2. system ()

3. fork ()

4. open ()

4.a. IO.popen () open ()

4.b. open ("| -")

  • вилка к трубе

4.c. IO.popen ("-") open ("| -")

5. Open3.popen3 ()

  • требует 'open3'
  • stdlib Open3

6. PTY.spawn ()

  • требует 'pty'
  • stdlib PTY

7. Shell.transact ()

  • требует 'shell'
  • stdlib Shell

Когда следует отказаться от надежного обратного тика для одного из более сложных методов?

Изменить 1. Большое спасибо Авди Гримму за его сообщения, описывающие примеры использования каждого метода: # 1 (& gist ); # 2 (& gist ); # 3 .

Это фантастические ресурсы для ответа на Как , но они не составлены явно для ответа , когда следует использовать каждый из них или Почему , и поэтому ИМХО не являются исчерпывающими ответами на этот вопрос.

60
задан Community 23 May 2017 в 10:31
поделиться