IPS Shutdown

Folgendes Problem:
Mein IPS-Rechner läuft nicht 24h/d sondern nur 16h/d. Jetzt klappt allerdings das Runterfahren von Windows nicht mehr, da IPS den Shutdown-Befehl abfängt. Könnte man da eine Option einbauen, damit das Verhalten von IPS umschaltbar ist (so wie jedes programm/so wie jetzt)?
Gruss
TK

Mit einen Parameter kannst du IPS anschubsen, damit es beendet wird.

http://www.ipsymcon.de/wiki/index.php/Start_Parameter_IPS

Grüße, paresy

Soweit schonmal danke,
aber wie kann ich den „ipd.exe -s“ Befehl zu einer definierten Zeit ausführen lassen. Brauche dazu noch ein Programm?

kannst du z.B. den Aborange Scheduler nehmen:

http://aborange.de/products/freeware/scheduler.php

ist freeware und klappt prima

aber wie kann ich den „ipd.exe -s“ Befehl zu einer definierten Zeit ausführen

Das geht auch mit Bordmittel:

Einfach im Startmenü unter Ausführen den Befehl TASKS benutzen.

Man kann auch den Rechner Zeitgesteuert über den Taskplaner TASKS herunterfahren. Dazu den Befehl shutdown.exe (sollte im Verzeichnis C:\Windows\System32 sein) verwenden ( Parameter -s fährt den Rechner runter.)

Viele Grüße

Mario

P.S. Übrigens Parameter -r fährt runter und macht Neustart :wink:

Hallo,

wobei der Scheduler Last verbraucht, nur mal so…aber warum nehmt Ihr nicht die Programme, die eh laufen? Also zum Beispiel kann sich IPS doch selbst neu starten? Wo ist das Problem? Kleines Script geschrieben und fertig…so habe ich es auch im kommenden Webinterface gemacht, nach der Installation wird automatisch IPS neu gestartet…da brauch ich keinen Scheduler oder irgendwelche Hilfsprogramme, die mir nur Resourcen verbrauchen. Je weniger, desto besser…

Gruss Torro

Kleines Script geschrieben und fertig…

:confused:

Da ist wieder dieser Satz - „schnell mal kleines Script geschrieben…“:eek:

Ich glaube bei meinem nächsten Besuch im Buchladen, kaufe ich wohl doch mal ein PHP-Buch!:frowning:

Mit den Systemresourcen hast du aber recht.
Es ging aber um das Rechner runterfahren weil er nicht 24 h/d laufen soll. Wobei ich denke, dass ist als Haussteuerung aber erforderlich, weil man den Zustand der FS20 doch nicht auslesen kann und wie soll IPS dann wissen was an und was aus ist. Oder schaltest du alles erstmal ab? Dann ist esaber bei mir ganz schon duster :smiley:

Viele Grüße
Mario

Danke,
der Tipp mit dem aborange teil war gut. Mit den Windows Tasks kann ich das nicht realisieren, da ich keinen Benutzer am PC angemeldet habe und dann eine Fehlermeldung bekomme.

Zur Zeit steuere ich nur einige Lampen über IPS. Da diese Lampen nachts alle aus sind, kann dann auch der PC aus sein. Das ändert sich ja vielleicht noch.

Gruss

TK

Hallo Torro tolle Idee,

aber vielleicht könntest Du hier einfach mal ein kurzes Sample für alle nicht so versierten PHP Programmierer posten.
Interessieren würden mich dabei 2 Dinge:

  1. Was muss in dem Script drin stehen damit sich IPS beendet
  2. Wie bekomme ich IPS dazu dieses Script genau dann auszuführen wenn sich Windows neustarten will ?

Denn eins ist wichtig:
Nicht IPS startet windows neu sondern ein anderes Programm (Windows Media Center Oberfläche).

Alternativ wäre für mich auch ein Startparameter denkbar, der die Shutdownsperre aufhebt. Dann spart Ihr euch wenigstens den Aufwand dies irgendwo im GUI integrieren zu müssen.

Thanks, Jens

Hallo,

Zur Verwendung in Scripten:


$root = str_replace( '\\', '/', IPS_GetKernelDir() );
$ipsinit = $root . "ipsrestart.cmd";

function ipsrestart($ipsinit) {
   global $root;
    $handle = fopen( $ipsinit, "w");
    $data = '@ECHO OFF';
    fputs($handle, $data."
");
     $data = $root . 'ips.exe -r"';
    fputs($handle, $data."
");
    fclose($handle);
}

ipsrestart($ipsinit);
IPS_Execute( "$ipsinit","",False,False);

statt „-r“ kann man auch „-s“ fuer shutdown setzen. Die moeglichen Parameter stehen hier, damit kann man dann statt „restart“ auch „shutdown“ noch in seine Funktionssammlung packen.

  1. Wie bekomme ich IPS dazu dieses Script genau dann auszuführen wenn sich Windows neustarten will ?

Denn eins ist wichtig:
Nicht IPS startet windows neu sondern ein anderes Programm (Windows Media Center Oberfläche).

Alternativ wäre für mich auch ein Startparameter denkbar, der die Shutdownsperre aufhebt. Dann spart Ihr euch wenigstens den Aufwand dies irgendwo im GUI integrieren zu müssen.

Thanks, Jens

letzteres kann ich Dir nicht sagen, da ich mich in Windows nicht auskenne.
Da kann Dir vielleicht ein Windows Guru besser helfen.

Gruss Torro

Wenn Du Windows über den shutdown Befehl runterfährst, sollte der Parameter -f auch jedes noch so hartnäckige Programm schießen.

-f steht für force.

Also: shutdown -s -f

EDIT: Jo, shutdown -s -f -t 00 fährt den Rechner sofort runter. Vorsicht aber: Auch Editoren und andere Programme werden beendet, egal, ob die Arbeit gesichert wurde oder nicht. Und ob IPS empfindlich reagiert, wenn es während der Arbeit geschossen wird (Datenintegrität und so), kann ich nicht beantworten, paresy vielleicht.

BTW, aus meiner Sicht wäre die saubere Lösung, dass IPS runterfährt, wenn Windows runterfährt. Windows-Applikationen bekommen einen Trigger (eine Windows Message), wenn der Rechner runterfahren will. IPS könnte die Aktionen, die bei ips -s ablaufen auch machen, wenn die Shutdown-Message kommt. Das wäre wesentlich besser als der externe Abschuss mittels -f Option bei shutdown, weil die Datenintegrität auf jeden Fall gewährleistet werden könnte. Es ist keine gute Praxis, sich als Programm dem Rechner-Shutdown zu widersetzen, wenn es nicht unbedingt nötig ist. Bei IPS etwa, wenn ein ellenlanges Script geschrieben und noch nicht gesichert wurde, oder so.

END EDIT

Cheers, starfarer

Wie schon gesagt, fange ich genau diese Message ab. Und Windows killt IPS bevor es sich schliessen konnte. (Vielleicht nicht bei einem 10 Instanzen Projekt) Sobald es mehr wird, dauert es manchmal ein paar Sekunden. Und Windows ist teilweise nicht so geduldig.

Was ich machen könnte wäre, Windows Shutdown abfragen, abbrechen, IPS runterfahrenlassen, den Shutdownbefehl erneut senden. (Ich lege mir die Sache mal so auf den Zettel)

Grüße, paresy

@paresy: Wenn ich mich recht erinnere (meine Win32 Programmierzeiten liegen ein paar Tage zurück) kannst Du Windows mitteilen, dass Du mehr Zeit brauchst als die Standard-Zeit, die Windows von sich aus warten will. Das kannst Du nicht beliebig erweitern, aber ein bisschen schon. Ich meine, so um die 25 s sind drin. Ich glaube, das schreibst Du in die Quittung für die Shutdown-Message. Die genaue Mimik habe ich leider vergessen.

>EDIT
Man kann die Zeit (zumindest unter XP) auch global durch einen Registry-Eintrag verlängern.

Um das Zeitlimit zu verlängern, können Sie den entsprechenden Registrierungswert ändern. Der Standardwert für das Zeitlimit (20 Sekunden) wird im Wert WaitToKillAppTimeout gespeichert, den Sie im folgenden Registrierungsschlüssel finden:
HKEY_CURRENT_USER\Control Panel\Desktop
Dieser Wert wird in Millisekunden angegeben. Mit dem Registrierungseditor können Sie diesen Wert ändern und dann Ihren Computer neu starten, um die Änderung wirksam werden zu lassen.

Ob das der Weisheit letzter Schluss ist, hmm. Aber so eine Lösung mit standardmäßig etwas längerer Wartezeit tut, glaube ich, weniger weh als den Shutdown abzubrechen. Wenn das jeder machen würde. :wink:
Dann würde Fernwartung (speziell Remote Shutdown oder Restart) zu einer hochindividuellen Angelegenheit. Nicht gut, denke ich.

>END EDIT

Cheers, starfarer

Hat sich zu diesem Thema noch was getan? Ich habe auch das Problem, wenn ich Windows neu starten möchte, bleibt das runterfahren bei IPS hängen, da IPS scheinbar zu lange braucht.

Gruß Marcel