- Bearbeitet
Ich bastel gerade an einem ziemlich umständlichen Script für eine sehr einfache Sache und verzweifele langsam.^^
Hier die Testversion des knackigsten Teilprozesses:
Der Hintergrund ist der Folgende: Ich will Oblivion über ein Script starten, dass zuvor das touchpad (und conky) abschaltet, und nach dem Beenden wieder anschaltet. Da ich Oblivion aber über OBSE starte, werden beide in einer einfachen Reihenschaltung bereits wieder angeschaltet, wenn OBSE beendet ist (also kurz vor dem Start von Oblivion), statt nach dessen Beendigung. Ich halte es für das naheliegendste/einfachste (abgesehen davon, einen Nebenprozess mitzugeben [was ich nicht will - ich will ja ein bisschen Programmieren lernen^^]), für
if AN = leer
sleep 60s
fülle AN auf, siehe oben
else
starte conky und touchpad
auszuführen. Alternativ könnte ich natürlich auch die PID für oblivion.exe auslesen, aber da dürfte ja derselbe Fehler auftreten und es dürfte nicht simpler sein.
Ich bin also erstmal darauf angewiesen, dass mir jemand verrät, was ich verbockt habe, bzw., dass es einen sehr viel einfacheren Weg gibt^^
Hier die Testversion des knackigsten Teilprozesses:
#!/bin/sh
echo "" > /home/deviant/.conkyscripts/top [um top zu leeren]
AN=0 [testweise, um die Ausgabe zu testen]
top -b > /home/deviant/.conkyscripts/top &
AN="`grep -i -m 1 opera /home/deviant/.conkyscripts/top`" &
echo $AN & [um die Ausgabe zu testen]
So siehts aus, Zweck ist der, die Prozesse nach einem speziellen Programm (hier: opera) zu scannen, um diese Information dann für eine if-Schleife zu verbraten; jedoch wird der Wert einfach nicht in die Variable geschrieben, so das stets "0" ausgegeben wird.Der Hintergrund ist der Folgende: Ich will Oblivion über ein Script starten, dass zuvor das touchpad (und conky) abschaltet, und nach dem Beenden wieder anschaltet. Da ich Oblivion aber über OBSE starte, werden beide in einer einfachen Reihenschaltung bereits wieder angeschaltet, wenn OBSE beendet ist (also kurz vor dem Start von Oblivion), statt nach dessen Beendigung. Ich halte es für das naheliegendste/einfachste (abgesehen davon, einen Nebenprozess mitzugeben [was ich nicht will - ich will ja ein bisschen Programmieren lernen^^]), für
if AN = leer
sleep 60s
fülle AN auf, siehe oben
else
starte conky und touchpad
auszuführen. Alternativ könnte ich natürlich auch die PID für oblivion.exe auslesen, aber da dürfte ja derselbe Fehler auftreten und es dürfte nicht simpler sein.
Ich bin also erstmal darauf angewiesen, dass mir jemand verrät, was ich verbockt habe, bzw., dass es einen sehr viel einfacheren Weg gibt^^