Я пытаюсь написать сценарий для управления использованием ЦП виртуальной машины KVM с помощью cpulimit. С помощью cpulimit я могу ограничить использование процессором виртуальной машины с pid скажем 2112:
. / Cpulimit -p 2112 -l 50.
Я хочу написать скрипт, который может открыть интерфейс
setcpu (vm_pid, limit)
Который может быть вызван любое количество раз, и я должен перезаписать существующий лимит. Я могу перезаписать существующее ограничение, просто добавив значение ограничения в качестве аргумента времени выполнения для запущенного процесса cpulimit. Как и subprocess.Popen (..., stdin = subprocess.PIPE). Я немного запутался в том, как захватить запущенный процесс и предоставить аргумент времени выполнения. Например (без сценариев):
# ./cpulimit -p 2112 -l 50
Process 2112 detected
Теперь он установит ограничение процесса, теперь я могу просто ввести
40
80
чтобы перезаписать существующий лимит. Я хочу написать это поведение. Было бы здорово, если бы вы могли предоставить указатель или идею о том, как написать этот скрипт. Большое спасибо