Я пытаюсь получить только PID, запустив этот скрипт Python.
Моя текущая ошибка:
- Выбранная строка не распознается как внутренняяили внешняя команда
- Чтобы справиться с этой ошибкой, я подумал, что мне нужно бежать |добавив ^ -> Но, видимо, это не сработает
Я добавил в некоторых \ бежать ", надеюсь, это правильно?
cmd = "netstat -ano | findstr " + str(o)
print (cmd)
cmd += " | Select-String \"TCP\s+(.+)\:(.+)\s+(.+)\:(\d+)\s+(\w+)\s+(\d+)\" | ForEach-Object { Write-Output $_.matches[0].Groups[6].value }"
print (cmd)
pid = run_command(cmd)
Метод run_command делает это:
def run_command(cmd_array,os_name='posix'):
p = subprocess.Popen(cmd_array,shell=True,cwd=os.getcwd())
output,err = p.communicate()
print('output=%s'%output)
print('err=%s'%err)
return output
Ожидаемый результат
Когда я запускаю только команду в командной строке, он дает мне PID -> 7556в этом случае. Не слишком уверен, почему он не работает для сценария, но работает в командной строке сам по себе.