htop and how I did it

Undeva intre “Arata-mi IP-ul!” si “E vineri 13?” gasim incepand de azi un nou link: htop.

Voiam sa fac de mai mult chestia asta (am vazut-o acum cativa ani pe undeva si mi-a placut), dar ori nu am avut timp si cand am avut timp nu am reusit(voiam alta abordare), ori nu mi s-a mai parut interesanta ideea, dar azi am facut-o.

Ce este? Htop “in timp real” (in urma cu cateva secunde, dar heh, who cares). Comanda htop rulata pe server si pusa “imaginea” intr-un html, apoi servit via Apache.

Sursa:

#!/bin/bash
export TERM=xterm-256color
export COLUMNS=200
export LINES=42
echo q | htop | aha --title htop --black --line-fix > /var/www/html/linux365.ro/htop.html

Daca va uitati la cod, vedeti ca e un simplu export intr-un fisier. Un “snapshot” al htop-ului asa cum e cand a fost rulat. Acum vine intrebarea de 1000 de puncte: cum am facut sa se actualizeze in timp real? Raspunsul este: systemd.

cat /etc/systemd/system/htop.service

[Unit]
Description=htop service
After=network.target
StartLimitIntervalSec=0

[Service]
Restart=always
RestartSec=1
ExecStart=/root/bin/htop.sh

[Install]
WantedBy=multi-user.target

Evident, serviciul a trebuit activat la restart si repornit. That’s it.

TODO (si won’t do in acelasi timp): ar trebui sa centrez output-ul.

About Author:

I look 12, but I'm a 42-year-old investment banker!

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.