Ответ на этот вопрос есть в документации.Вы пишете код для собственного использования в контролируемой среде?Или широко использоваться третьими лицами?Ruby написан для широкого использования третьими лицами, поэтому их рекомендация - не делать что-то, что может дать сбой в «некоторых операционных системах».Возможно, библиотека Spawn предназначена в первую очередь для использования на машинах Linux и протестирована только на небольшом подмножестве, где работает эта тактика.
Если вы распространяете код, который пишете, для использования всеми и всеми,Я бы выбрал подход Руби.
Если вы управляете средой, в которой будет выполняться этот код, я написал бы два теста:
- Тест, который порождает процесс, отсоединяет его и затемждет его.
- Тест, который порождает процесс, а затем просто ждет его.
Подсчитайте частоту отказов для обоих и, если они равны (в пределах чувствительности, которую вы считаетеприемлемо), дерзайте!