pysys startProcess с помощью numactl
numactl - это процесс, который может устанавливать привязку процессора. он принимает процесс привязки к процессору в качестве параметра:
numactl -physcpubind 0 <process> <args>
Я могу успешно запустить мой процесс с помощью команды pysys startProcess:
BaseTest.startProcess('processA argsA')
Тем не менее, приведенное ниже вызывает несуществующий процесс Python в соответствии с ps -ef [PID].
BaseTest.startProcess('numactl -physcpubind 0 processA argsA')
Любые мысли о том, как startProcess () может использоваться для вызова процесса (numactl), который:
- сам по себе имеет аргументы (-physcpubind 0)
- одним из указанных аргументов является другой процесс (processA), который сам имеет аргументы (argsA)
ТИА
1 ответ
def startProcess(self, command, arguments, environs=None, workingDir=None, state=FOREGROUND,
timeout=TIMEOUTS['WaitForProcess'], stdout=None, stderr=None, displayName=None,
abortOnError=None, ignoreExitStatus=True):
Аргументом команды startProcess является фактический исполняемый файл, который вы хотите запустить, в данном случае это numactl. Следовательно, любой вызов startProcess при аренде должен иметь форму;
startProcess(command='numactl', arguments=...)
Таким образом, вопрос в том, какие аргументы вы передаете. У меня нет среды linux для подтверждения, но я ожидаю, что один из следующих, т.е.
arguments=['-physcpubind', '0', 'processA', 'argsA']
arguments=['-physcpubind', '0', 'processA argsA']
Первое означает, что обычно numactl рассматривает процесс, который нужно запустить, и его аргументы командной строки как отдельные аргументы для себя, или последнее означает, что numactl рассматривает процесс и его аргументы для запуска как один аргумент для себя. Стоит попробовать оба, чтобы увидеть, что происходит.