В команде 'верхней части' Linux, там какой-либо способ отслеживать значения?

Я сначала заблокировал бы учетную запись пользователя, которой он будет не abble для входа в систему после того, как Вы выйдете из системы его.

passwd -l username

Эта команда заблокирует пользователя.

Если он все еще зарегистрирован затем uou, может зарегистрировать его с

skill -KILL -u username

После этого можно изменить его путь, чтобы разместить dir и разблокировать учетную запись с

passwd -u username

5
29.04.2015, 10:05
2 ответа

Ответ на этот вопрос может варьироваться от простой команды до сложных инструментов мониторинга, в зависимости от ваших потребностей.

Вы можете начать с простого запуска top -b -n 1 >> file.txt (-b для пакетного режима, -n 1 для выполнения одной итерации top) и сохранить результат (в приложении) в файле.txt. Вы можете также отфильтровать вывод "top" как top -b -n 1 | grep init, чтобы увидеть только данные для "init" процесса или top -b -n 1 | grep "init" | head -1 |awk '{print $9}', чтобы получить 9-ый столбец данных init процесса (значение процессора).

Если вы хотите использовать скрипт оболочки, вы можете:

CPU=$(top -b -n1 | grep "myprocess" | head -1 | awk '{print $9}')
MEM=$(top -b -n1 | grep "myprocess" | head -1 | awk '{print $10}')

Или, с одним выполнением top:

read CPU MEM <<<$(top -b -n1 | grep "myprocess" | head -1 | awk '{print $9 " " $10}')

(обратите внимание, что grep, head и awk могут быть объединены в одну команду awk, но для простоты я использую отдельные команды).

В этом примере мы использовали top, но есть альтернативные методы для других метрик (проверьте sar, iostat, vmstat, iotop, ftop, и даже чтение /proc/*).

Теперь у вас есть возможность доступа к данным (использование процессора). И в нашем примере мы добавляем его в текстовый файл. Но вы можете использовать и другие инструменты для хранения данных и даже графов: хранить в csv и графах с помощью gnuplot/python/openoffice, использовать инструменты мониторинга и графов, такие как zabbix, rrdtools, cacti и т.д. Существует большой мир инструментов мониторинга, которые позволяют собирать и отображать данные, такие как использование процессора, памяти, диска io, и даже пользовательские метрики (количество соединений mysql и т.д.).

EDIT: наконец, чтобы специально ответить на ваш вопрос, если вы хотите легко отслеживать изменения для простого теста, вы можете запустить top -b -n 1 >> /tmp/file.txt в вашем файле /etc/crontab, запуская top каждые 5 минут (или любой другой интервал времени, если вы замените /5 ниже).

0-59/5 * * * * root top -b -n1 >>/tmp/output.txt

(и grep + head -1 в команде выше, если вы вводите только данные одного процесса).

Обратите внимание, что output.txt будет расти, поэтому, если вы хотите сбросить его ежедневно или еженедельно, вы можете "rm" его с помощью другой записи в crontab.

8
27.01.2020, 20:35

Вы можете использовать PS -O PID, PCPU $ (PGREP конкретный процесс) >> Файл . Запустите его на регулярном интервале.

1
27.01.2020, 20:35

Теги

Похожие вопросы