LINUX.ORG.RU

Пару вопросов по ruby, вывод в консоль


0

1

Вот допустим: puts `ping -с 4 google.ru` Как сделать так что бы процесс пинга показывался сразу, что бы не ждало пока процесс завершится и только потом выводило?

Как сделать что бы `ping google.ru > /dev/null` запустился, но при этом, что бы это происходило «где то там но не в скрипте», что бы не ждало конца выполнения, т.е запустился пинг и скрипт руби продолжался дальше, как «&» в конце команды в bash

$ping_return `ping google.ru > /dev/null; echo $?` вот допустим надо проверить в скрипте, как завершилась команда в bash, нету другого способа кроме этого?

Только пожалуйста, не надо предлагать Ping который в ruby, я привел команду ping только для примера.

`ping -с 4 google.ru`

Попробуй это форкнуть и писать в pipe. Из руби читай из пайпа.

$ping_return `ping google.ru > /dev/null; echo $?`

В руби есть перемнная $? Т.е.:

`ping google.ru > /dev/null`
success = $?.success?

dizza ★★★★★
()
Ответ на: комментарий от dizza

>>Попробуй это форкнуть и писать в pipe. Из руби читай из пайпа.

А можно пример, пожалуйста?

babusha
() автор топика

Создай Thread, в нем делай. Правда есть вероятность, что вызов посторонней программы может блокировать интерпретатор. В 1.8 вроде точно будет.

tensai_cirno ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.