L’aMule que s’aturava a descansar i el malvat fuet automàtic

Des del primer dia, l’aMule ha mostrat el lleig vici d’aturar-se a descansar quan li semblava bé (i m’ha semblat que deixava anar alguns renecs d’error que, lògicament, jo no sé interpretar: no sóc el doctor Dulitel). El resultat era que, en tornar a casa, me la trobava menjant al pessebre i no pas treballant: quan de temps feia que estava descansant? chi lo sà! Al final, he optat per posar-li un fuet controlat pel cron, i deixar que aquest, cada deu minuts, li fes una ullada i hi actués en conseqüència.
La programació del cron no era difícil, després de consultar la moltíssima documentació que hi ha en la xarxa. Només calia editar l’arxiu del crontab ($ crontab -e) i afegir-hi la línia següent:
0,10,20,30,40,50 * * * * ~/bin/fuet
És clar, al directori ~/bin/ cal crear l’escript fuet i donar-li permís d’execució. El problema era que el fuet s’executava correctament (hi havia afegit un parell de línies touch que, en crear arxius testimoni, em demostraven que funcionava bé), però l’aMule no s’engegava: misteri. Després d’uns dies de batalla infructuosa, he recordat la meua primera (i fins ara única) experiència amb el cron, un escript que canviava el fons de pantalla cada deu minuts sota el Fluxbox i l’Xfce; hi he fet una ullada i he comprovat que, davant de la línia que engegava l’aMule, calia afegir DISPLAY=:0.0 . Pel que es veu, cal afegir açò davant dels programes que es mostren a través del gestor de finestres; no sé ben bé què representa que és, però sospite que és una indicació relacionada amb Alt-Ctrl-F7 i companyia, i que serveix per indicar on s’ha d’engegar, escriptori o usuari, no ho sé: sense aquesta indicació, no hi ha res a fer.
Al final, l’escript ha quedat així:

#!/bin/bash
# Escript: fuet
# Finalitat: Comprova que l'aMule està engegat; si no ho està,
# l'engega.

# Inicialitza la variable
AMULE=0

# Compta les línies amb la paraula "amule" que ens torna l'ordre ps;
# assigna aquest valor a la variable AMULE
AMULE=`ps -e | grep amule | wc -l`

# Si no ha sortit cap línia amb la paraula "amule" (ço vol dir que
# que el programa no està actuant), engega l'amule.
if [ $AMULE -eq 0 ] ; then
DISPLAY=:0.0 amule
fi

De moment, està funcionant sense problemes.

Powered by ScribeFire.

Quant a Giorgio Grappa

Algú fa cas de les coses que els blocaires escriuen sobre ells mateixos? El comentari més sincer que he llegit als "about me" és aquell de: "si vols saber res de mi, pots llegir el meu bloc."
Aquesta entrada ha esta publicada en Uncategorized. Afegeix a les adreces d'interès l'enllaç permanent.

2 respostes a L’aMule que s’aturava a descansar i el malvat fuet automàtic

  1. Anonymous ha dit:

    Hola, un parell de comentaris a la teva entrada. Interessant per cert, faltaria saber per que et falla l’amule… 😉 No tens cap log?Primer. al cron en comptes de dir-li el minuts en que s’executara: 0,10,20,… li pots dir */10 i ho fara cada 10 minuts. Es més simple. La mateix sintaxi es pot utilitzar per a les hores, dies ,… per exemple */3 en el camp de dies, indica que s’executara cada tres dies.Segon, l’script fuet es queda executant-se fins que no acaba l’amule. Millor executar l’aMule en background afegint ‘&’ al final de la comanda. Tercer, la variable d’entorn DISPLAY indica a les aplicacions que necessiten les X’s on s’esta executant el servidor X. En el teu cas, aquest s’executa al :0.0 . Pero pots tenir configuracions amb varis servidors X o servidors X remots… … be aixo es tot! Sort amb la mula…Salut!

  2. Giorgio Grappa ha dit:

    Moltíssimes gràcies, amic anònim 🙂 .Com pots veure, estic encara a les beceroles del cron i no en domine la sintaxi; per sort, això del */10 és bastant intuïtiu (i més senzill que el rudimentari sistema que he fet servir: ho canviaré).El cas és que el tema del “&” se m’havia passat pel cap, però al final se’m va oblidar.Tampoc domine gaire el tema de les variables de l’entorn, però ara, amb la teua explicació, crec que entec millor de que va la DISPLAY. Així, si tingués obert més d’un usuari, cadascun amb el seu entorn gràfic, cada u tindria un valor diferent en aquesta variable, oi? Com que no he de compartir la màquina amb ningú, no em suposa cap problema; però també ho investigaré.Recorde que una volta que l’havia engegat des d’un emulador de terminal, hi va aparèixer un missatge d’error quan va petar, però no vaig investigar-lo. Dins d’uns dies miraré el tema del log (ara estic massa embolicat: final de curs!).I moltes gràcies pels aclariments!

Deixa un comentari

Fill in your details below or click an icon to log in:

WordPress.com Logo

Esteu comentant fent servir el compte WordPress.com. Log Out / Canvia )

Twitter picture

Esteu comentant fent servir el compte Twitter. Log Out / Canvia )

Facebook photo

Esteu comentant fent servir el compte Facebook. Log Out / Canvia )

Google+ photo

Esteu comentant fent servir el compte Google+. Log Out / Canvia )

Connecting to %s