Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Пользователь


Сообщения: 91
Благодарности: 9

Профиль | Отправить PM | Цитировать


Я вот тут еще подумал и немного переделал скрипт. Sleep делает меньшую задержку чем хотелось бы, а переменная $STATE нужна для того, чтобы лишний раз не писать в файл одно и тоже. Еще не знаю насколько шустрый egrep, но раз можно эту задачу решить обычным грепом думаю так будет лучше.

Код: Выделить весь код
#!/system/bin/sh

# Renice this
renice 19 $$

getVmstat()
{
    cat /proc/vmstat | grep "pgpg"
}

# initialise variables
CHECK=50000
STATE="0"
NEW=$(getVmstat)
OLD=$(getVmstat)

while [ 1 ] ; do
    usleep $CHECK;
    NEW=$(getVmstat);
    if [ "$NEW" = "$OLD" ]; then
        if [ "$STATE" = "1" ]; then
            STATE="0";
            echo "0" > /sys/devices/platform/leds-microp/leds/green/brightness;
        fi
    else
        if [ "$STATE" = "0" ]; then
            STATE="1";
            echo "1" > /sys/devices/platform/leds-microp/leds/green/brightness;
        fi
    fi
    OLD=$NEW
done
А можно выполнять включать и выключать диод только тогда когда состояние изменилось без циклов? Ну чтото вроде sleep_until_state_change();
Что еще можно сделать?

Отправлено: 02:22, 29-09-2012 | #2