2016-09-20 1 views
0

Я хочу взять команду и ее аргументы в Python.Команда процесса с использованием python

я могу использовать

process=os.popen('ps -elf').read().split("\n") 

, а затем использовать регулярное выражение для извлечения команды, но его уродливым.

возвращает эти утилиты имя процесса, но не фактические команды и аргументы

Есть простой способ сделать это?

+0

Вы можете использовать 'psutil.Process (ИДП) .cmdline()', чтобы получить командную строку и ее аргументы. – acw1668

ответ

0

psutil может получить аргументы командной строки:

import psutil 

for p in psutil.process_iter(): 
    cmd_line = p.cmdline() 
    if cmd_line: 
     print(cmd_line) 

EDIT: обновлен, чтобы исправить проблему, найденный @Keir

+0

Это было бы полезно, если бы он работал с TypeError: объект «list» не может быть вызван – Keir

0

Последнее предложение почти правильно. Это должно быть

for p in psutil.process_iter(): 
    cline = p.cmdline 
    if cline: print(cline)