2014-10-14 2 views
0

Я пытаюсь создать простой скрипт php, чтобы вернуть список запущенных процессов в формате JSON.php exec ('ps -aeo') не возвращает все процессы

Этот скрипт, конечно, выполняется apache.

У меня все выяснено, кроме одной маленькой детали. Когда скрипт выполняется apache, команда возвращает список запущенных процессов, принадлежащих пользователю «apache».

Есть ли вообще вокруг этого?

exec('ps -aeo',$output); 
//then some code to parse the $output and return a JSON string 

ВЫВОД:

"processes": [ 
    { 
     "cpu": "0.0", 
     "pid": "23698", 
     "user": "apache", 
     "command": "/usr/sbin/httpd" 
    }, 
    { 
     "cpu": "0.0", 
     "pid": "23486", 
     "user": "apache", 
     "command": "/usr/sbin/httpd" 
    }, 
    { 
     "cpu": "0.0", 
     "pid": "23485", 
     "user": "apache", 
     "command": "/usr/sbin/httpd" 
    }, 
    { 
     "cpu": "0.0", 
     "pid": "23484", 
     "user": "apache", 
     "command": "/usr/sbin/httpd" 
    }, 
    { 
     "cpu": "0.0", 
     "pid": "23483", 
     "user": "apache", 
     "command": "/usr/sbin/httpd" 
    }, 
    { 
     "cpu": "0.0", 
     "pid": "23482", 
     "user": "apache", 
     "command": "/usr/sbin/httpd" 
    }, 
    { 
     "cpu": "0.0", 
     "pid": "23481", 
     "user": "apache", 
     "command": "/usr/sbin/httpd" 
    }, 
    { 
     "cpu": "0.0", 
     "pid": "23480", 
     "user": "apache", 
     "command": "/usr/sbin/httpd" 
    }, 
    { 
     "cpu": "0.0", 
     "pid": "23479", 
     "user": "apache", 
     "command": "/usr/sbin/httpd" 
    }, 
    { 
     "cpu": "0.0", 
     "pid": "23478", 
     "user": "apache", 
     "command": "/usr/sbin/httpd" 
    }, 
    { 
     "cpu": "0.0", 
     "pid": "1008", 
     "user": "root", 
     "command": "/usr/sbin/httpd" 
    }, 
    { 
     "cpu": "0.0", 
     "pid": "959", 
     "user": "root", 
     "command": "/usr/sbin/abrtd" 
    } 
    ] 
+2

Try «пс Окс», чтобы снять ограничение «этот пользователь только». – Chad

+0

@cwscribner Удари меня. Ага. Хотя в результате вы можете столкнуться с некоторыми проблемами форматирования, сосать как «зачеркнуть». – Ohgodwhy

+0

Я только что недавно сделал что-то подобное. Возможно, просмотр моего кода поможет вам;) http://geneticcoder.blogspot.com/2014/10/php-process-manager-with-top.html –

ответ

2

я была такая же проблема, это решил. (Если у вас есть привилегии) ​​

# chcon -t unconfined_exec_t /sbin/httpd 

see detailed document here

, вероятно, не хорошая идея, если сервер разделяют untrustful пользователей

Смежные вопросы