2015-03-10 2 views
1

В режиме twisted метод getProcessOutput может получить команду командной строки «ps» с помощью getProcessOutupt ('ps', 'aux') и вернуть отсрочку.команды скрученного запуска локальной оболочки с конвейером

Мой вопрос в том, как запустить команду как «ps aux | grep» некоторое ключевое слово '| awk' {...} '' в getProcessOutput. например, getProcessOutput ("ps aux | grep 'some keyword' | awk '{...}'").

любые предложения будут оценены.

+0

Настоящим уродливым взломом было бы написать весь конвейер команд в строку, подходящую для передачи в 'sh -c" ... "' как один аргумент. Тогда ваш вызов будет выглядеть примерно так: getProcessOutput ('sh', ('-c', "ps aux | grep 'some keyword' | awk '{...}'"), * other_getProd_args) –

+0

@JimDennis, спасибо за ваш ответ. :-). Я хочу получить команду вывода с некоторых удаленных компьютеров, используя перспективный сервер брокеров, которые используют getProcessOutput для запуска локальной команды оболочки. есть ли у вас какие-либо идеи относительно наилучшего способа сделать это? –

+1

Если вы действительно хотите использовать конвейеры оболочки, '["/bin/sh "," -c "," ... "]' не является уродливым взломом, это правильный способ сделать это. – Glyph

ответ

0

использование getProcessOutput('/bin/sh', ('-c', cmd)). cmd - ваша команда оболочки. попробуйте :-)

 Смежные вопросы

  • Нет связанных вопросов^_^