Bash: уничтожить процесс в зависимости от используемой памяти

[1179811]Steps 1. Откройте разделы диска :

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

result :

  • В этом примере [1180316]/dev/sda1[1180317] зарезервирован для Windows boot. [1180318]/dev/sda2[1180319] - это C:\ и [1180320]/dev/sda3[1180321] - это D:\

  • 2. Убедитесь, что у вас есть утилита NTFS-3G :

ntfs-3g[1180325], которая помогает монтировать файловые системы windows в linux. Просто введите [1180326]ntfs-3g[1180327]. Если его нет, установите его [1180328]sudo apt-get install ntfs-3g

3. Создайте точку монтирования и смонтируйте ваш FS :

1
11.01.2017, 23:28
2 ответа

Вы можете преобразовывать переменные в bash и ksh (используйте declare -i var или typeset -i var для interger), но я не думаю, что это ваша проблема.

Следующее приведет к установке var1 в ничто при выполнении команды в обычном режиме.

var1= free -m |awk 'NR == 2'| awk '{print $3}'

Если вы хотите, чтобы для вывода free и awk было установлено значение var1, то приведенное выше должно выглядеть так:

var1=$( free -m |awk 'NR == 2'| awk '{print $3}' )
3
27.01.2020, 23:20

спасибо DarkHeart, мой скрипт работает.

Вот полученный код:

#!/bin/bash

while true; do   

    var1=$( free -m |awk 'NR == 2'| awk '{print $3}' )
    var2=$( ps aux | grep '/opt/skype/skype' | grep -v grep | awk '{print $2}' )

    if [ $var1 -gt 5460 ]; then
         echo "La memoria se ha excedido cerrando porcesos"
         kill -9 $var2
         break
    else
         echo "La memoria aun es estable $var1"
    fi

    sleep 1

done
1
27.01.2020, 23:20

Теги

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