Intereting Posts
Использование разбиения на страницы с строкой запроса для формы поиска, которая имеет метод, установленный для получения в codeigniter Где находятся файлы журнала Magento? Загрузка образа с кодировкой Base64 на сервер PHP Несколько проигрывателей Jplayer из Laravel DB Аутентификация Oauth HMAC-SHA1 для получения контактов с Yahoo! Контакты API Переменная URL GET имеет необходимый символ хэша Symfony2 – создайте фильтр Doctrine для выбора текущих пользовательских данных Перенаправление на главную страницу после ошибки 404 в PHP PHP не может открывать удаленный файл Загрузить ajaxdata в формате HTML или JSON? Сценарий Python не будет выполняться с php при использовании конкретной библиотеки Разбирайте XML-файл с URL-адреса, используя php Размер и положение одного изображения в другом через PHP Изменение размера изображений PHP: Возможно ли создать объект SplFileObject из содержимого файла (строки)?

Разбор вывода команды «верхний» (оболочка) с помощью PHP

Я пытаюсь экспортировать вывод команды «top» (unix) с PHP. Вызов и чтение команды / вывода довольно просты, используя функцию «exex», но вопрос в том, является ли вывод команды «top» (порядок, имена и т. Д.) Всегда одинаковым? Или это связано с распределением, которое я использую?

Есть ли способ проанализировать эту информацию «вообще» в системах UNIX?

заранее спасибо

Вместо этого вы можете использовать ps , с аргументами -A и -o:

ps -Ao %cpu,%mem,user,comm 

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

  0.0 0.1 root udisks-daemon 0.0 0.0 root udisks-daemon 0.0 0.1 root gdm-simple-slav 11.0 0.4 root Xorg 0.0 0.1 root NetworkManager 0.0 0.1 root polkitd 0.0 0.1 root gdm3 

Аргументы:

 -A Select all processes. -o format User-defined format. format is a single argument in the form of a blank-separated or comma-separated list, which offers a way to specify individual output columns. The recognized keywords are described in the STANDARD FORMAT SPECIFIERS section below. Headers may be renamed (ps -o pid,ruser=RealUser -o comm=Command) as desired. If all column headers are empty (ps -o pid= -o comm=) then the header line will not be output. Column width will increase as needed for wide headers; this may be used to widen up columns such as WCHAN (ps -o pid,wchan=WIDE- WCHAN-COLUMN -o comm). Explicit width control (ps opid, wchan:42,cmd) is offered too. The behavior of ps -o pid=X,comm=Y varies with personality; output may be one column named "X,comm=Y" or two columns named "X" and "Y". Use multiple -o options when in doubt. Use the PS_FORMAT environment variable to specify a default as desired; DefSysV and DefBSD are macros that may be used to choose the default UNIX or BSD columns. 

Все STANDARD FORMAT SPECIFIERS, которые вы можете использовать, вы можете найти на странице man ps, но я скопировал их и здесь для удобства:

https://gist.github.com/ivankovacevic/9918272

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

Если ваш pidstat Unix – это Linux, я думаю, что pidstat (из пакета sysstat ) лучше подходит для ваших нужд (не говоря уже о том, что, по-моему, яснее).