Сравнительно недавно, наткнулся я в ru_mac на очень полезный скрипт. Но донести его до всех наших читателей дошли руки только сейчас. Я читаю, что скрипт очень полезный.
Итак, постановка задачи:
Надо запустить какое-то ресурсоемкое приложение (самый простой пример — конвертация видео), на работу которого уйдет несколько часов. В большинстве случаев, такие задачи ставят выполняться на ночь. Но ведь не работать же машине еще по-ночи после завершения работы (ресурс, шум (не так актуально для буков и аймаков), экономия электричества, в конце концов).
Соотвественно, надо бы заставлять компьютер переходить в спящий режим после завершения работы. Можно, конечно и запланировать режим сна, но дело рискованное, ибо даже гидрометцентр не может на 100% спрогнозировать 🙂 . Решение получше — контроль загруженности процессора.
Сам скрипт:
export cpuUsageSafari=`ps -A -o %cpu -o command | grep Safari | grep -v grep | awk ‘{print $1}’`
# please! in the line above, replace Safari with a name of your application!
echo $cpuUsageSafari
while [ $cpuUsageSafari > 0 ]; do
if [ $cpuUsageSafari = «0.0» ]; then
echo Well above 9K
export cpuUsageSafari=`ps -A -o %cpu -o command | grep Safari | grep -v grep | awk ‘{print $1}’`
else
echo Time to sleep
echo «Next command is sleep — uncomment me»
osascript -e ‘tell application «System Events» to sleep’
break
fi
sleep 1
done
Поскольку в сценарии за пример взято приложение Safari, то это название нужно поменять вручную, если процесс будет выполнятся другой программой.
Таже, для страховки (и меньшей нагрузки на комп от самого скрипта), последний параметр (sleep 1) можно изменить, установив проверку не каждую секунду, а например 5 или 10.
Большое спасибо glebcha за скрипт (и всем помогавшим отточить его).
Последние комментарии