В режиме twisted метод getProcessOutput может получить команду командной строки «ps» с помощью getProcessOutupt ('ps', 'aux') и вернуть отсрочку.команды скрученного запуска локальной оболочки с конвейером
Мой вопрос в том, как запустить команду как «ps aux | grep» некоторое ключевое слово '| awk' {...} '' в getProcessOutput. например, getProcessOutput ("ps aux | grep 'some keyword' | awk '{...}'").
любые предложения будут оценены.
Настоящим уродливым взломом было бы написать весь конвейер команд в строку, подходящую для передачи в 'sh -c" ... "' как один аргумент. Тогда ваш вызов будет выглядеть примерно так: getProcessOutput ('sh', ('-c', "ps aux | grep 'some keyword' | awk '{...}'"), * other_getProd_args) –
@JimDennis, спасибо за ваш ответ. :-). Я хочу получить команду вывода с некоторых удаленных компьютеров, используя перспективный сервер брокеров, которые используют getProcessOutput для запуска локальной команды оболочки. есть ли у вас какие-либо идеи относительно наилучшего способа сделать это? –
Если вы действительно хотите использовать конвейеры оболочки, '["/bin/sh "," -c "," ... "]' не является уродливым взломом, это правильный способ сделать это. – Glyph