From: Sergey Matveev Date: Tue, 24 Aug 2021 10:52:47 +0000 (+0300) Subject: godwmstat X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=f0cadf30e9252fd3170447a7a27a20d29cfe7199;p=stargrave-blog.git godwmstat http://www.git.stargrave.org/?p=godwmstat.git;a=blob;f=main.go Раз лампочек о дисковой активности нету, то придётся выносить самостоятельно в status bar dwm-а. Прежде у меня был shell скрипт с бесконечным циклом и sleep-ом, который вызывал всякие внешние утилиты, парся их вывод. Но для дисковой и сетевой активности мне хочется обновления куда более частого, чем 20-30сек. В итоге, взял и вообще полностью всю эту статистику написал на Go. Python я уже не беру в руки даже для таких вещей. Вызываются один раз iostat, netstat, top с указанием что они должны раз в n-секунд обновлять статистику. Существенно более лёгкая штука должна быть, ибо единственный процесс который вызывается регулярно, это xsetroot для выставления значения status bar-а. Выводит (в одну строчку): [IO 0/70 0/72] [Net 11/6] [CPU 53.9 0.8 0.2] [29M Mem 38G Active 969M Inact 247M Laundry 10G Wired 13G Free ARC 8866M] [FM WG] 2021-08-24 13:55:42 * Кол-во read/write транзакций на диск * Кол-во входящих/исходящих пакетов по сети * User, system и interrupt CPU нагрузка в процентах. idle и nice проигнорированы * Данные о памяти, swap (у меня аж 29MB в нём оказалось), размере ARC * Флаговые файлы (FM, WG) * Время Я всё удивлялся на кой чёрт так много людей пишут эти статусы на каком-нибудь Си для dwm-а, ведь всё же можно на shell осилить. Но вот и я дошёл до нормального компилируемого языка для этой задачи. ---