Effizientes Programmieren - oder Windows Autostart fürs Herunterfahren

pcProfie

Aktives Mitglied
Hallo

ich möchte für Überwachungszwecke ein Programm haben, dass mir jeden Start und jedes Herunterfahren dokumentiert. Ich habe das bereits mit dem Start gemacht: jedes mal wird in eine Datei die Uhrzeit geschrieben, z.B. "08.12.14 - 14:24:57". Ich wollte nun auch irgendwie das Herunterfahren loggen, ohne Ressourcen zu verschwenden. Wie sollte ich das machen, der WindowListener ist vlt nicht die richtige Wahl, da ich alles ohne GUI mache. Gibt es unter Win7 vlt sogar soetwas wie einen Autostart Ordner fürs Herunterfahren?

Danke schonmal!
 

Tobse

Top Contributor
Windows selbst bietet da bestimmt irgendwelche Schnittstellen (siehe Microsoft / Windows Doku). Eine Andere Möglichkeit wäre, einfach alle X Minuten (z.B. 2, 5 oder 10) die letzte Zeile im Logfile mit der Aktuellen zu ersetzen. Also z.B.

1.12.14 - 10:00:00: PC wird hochgefahren
Code:
01.12.2014 - 10:00:00 boot

1.12.14 - 10:02:00: PC läuft
Code:
01.12.2014 - 10:00:00 boot
01.12.2014 - 10:02:00 Lebenszeichen

1.12.14 - 10:04:00: PC läuft
Code:
01.12.2014 - 10:00:00 boot
01.12.2014 - 10:04:00 Lebenszeichen

1.12.14 - 10:06:00: PC läuft
Code:
01.12.2014 - 10:00:00 boot
01.12.2014 - 10:06:00 Lebenszeichen

1.12.2014 - 10:07:00: PC wird heruntergefahren.

1.12.2014 - 10:10:00: PC wird hochgefahren
Code:
01.12.2014 - 10:00:00 boot
01.12.2014 - 10:06:00 Lebenszeichen
01.12.2014 - 10:10:00 boot

P.S.: Das hat aber auch zur folge, dass sich deine Festplatte bei längerem Standby nicht abschaltet => mehr Stromverbrauch.
 
Zuletzt bearbeitet:

Gucky

Top Contributor
Windows bietet einen Dienst an, um Programme auszuführen, bevor es herunter gefahren wird. Allerdings müsstest du dann eine Batchdatei starten, die dein Java Programm startet.

Allerdings könntest du dann auch gleich mit der Batchdatei die Zeile schreiben. Oder wenn du mehr Freiheiten haben möchtest, kannst du auch mit PowerShell oder irgendeiner anderen nativen Sprache arbeiten.

Das geht übrigens auch beim Start. Dazu brauchst du Java gar nicht ;)
 
Zuletzt bearbeitet:

Tobse

Top Contributor
Windows bietet einen Dienst an, um Programme auszuführen, bevor es herunter gefahren wird.

[...]

Allerdings könntest du dann auch gleich mit der Batchdatei die Zeile schreiben.

[...]

Das geht übrigens auch beim Start. Dazu brauchst du Java gar nicht ;)


Dann ist die Sache natürlich easy-cheasy:

Code:
@echo off
echo %date:~0% - %time:~0,8% %1 >> logfile.txt

Für boot: syslog.bat boot
Für Shutdown: syslog.bat shutdown
Damit ließen sich dann auch alle möglichen Dinge loggen welche dir Windows Event-Basiert zur Verfügung stellt.
 
Zuletzt bearbeitet:

pcProfie

Aktives Mitglied
Dann ist die Sache natürlich easy-cheasy:

Code:
@echo off
echo %date:~0% - %time:~0,8% %1 >> logfile.txt

Für boot: syslog.bat boot
Für Shutdown: syslog.bat shutdown
Damit ließen sich dann auch alle möglichen Dinge loggen welche dir Windows Event-Basiert zur Verfügung stellt.

Wo müsste ich die Dateien dann hinpacken und wie mach ich das mitm boot und shutdown?
 

pcProfie

Aktives Mitglied
Windows selbst bietet da bestimmt irgendwelche Schnittstellen (siehe Microsoft / Windows Doku). Eine Andere Möglichkeit wäre, einfach alle X Minuten (z.B. 2, 5 oder 10) die letzte Zeile im Logfile mit der Aktuellen zu ersetzen. Also z.B.

1.12.14 - 10:00:00: PC wird hochgefahren
Code:
01.12.2014 - 10:00:00 boot

1.12.14 - 10:02:00: PC läuft
Code:
01.12.2014 - 10:00:00 boot
01.12.2014 - 10:02:00 Lebenszeichen

1.12.14 - 10:04:00: PC läuft
Code:
01.12.2014 - 10:00:00 boot
01.12.2014 - 10:04:00 Lebenszeichen

1.12.14 - 10:06:00: PC läuft
Code:
01.12.2014 - 10:00:00 boot
01.12.2014 - 10:06:00 Lebenszeichen

1.12.2014 - 10:07:00: PC wird heruntergefahren.

1.12.2014 - 10:10:00: PC wird hochgefahren
Code:
01.12.2014 - 10:00:00 boot
01.12.2014 - 10:06:00 Lebenszeichen
01.12.2014 - 10:10:00 boot

P.S.: Das hat aber auch zur folge, dass sich deine Festplatte bei längerem Standby nicht abschaltet => mehr Stromverbrauch.

Das Problem dabei ist, dass das Programm immer was im Hintergrund macht. Beim Zocken nicht so gut
 

pcProfie

Aktives Mitglied
Windows bietet einen Dienst an, um Programme auszuführen, bevor es herunter gefahren wird. Allerdings müsstest du dann eine Batchdatei starten, die dein Java Programm startet.

Allerdings könntest du dann auch gleich mit der Batchdatei die Zeile schreiben. Oder wenn du mehr Freiheiten haben möchtest, kannst du auch mit PowerShell oder irgendeiner anderen nativen Sprache arbeiten.

Das geht übrigens auch beim Start. Dazu brauchst du Java gar nicht ;)

Das Problem ist: ich kann nur java :D

@JavaMeister: selbes
 

Tobse

Top Contributor
pcProfile hat gesagt.:
Das Problem dabei ist, dass das Programm immer was im Hintergrund macht. Beim Zocken nicht so gut
Die Performance, die das frisst, ist fürs Zocken s******egal. Moderne Spiele sind derart komplex, was die alles in 2 Minuten machen geht über einen Schreibvorgang um Universen hinaus.

Bzgl. des Dienst problems: Gucky hat das Eingebracht, vllt kennt er in paar Details. An sonsten ist Google dein Freund :)
 

Gucky

Top Contributor
Tjaaaaaaa. Batchdateien sind nun nicht allzu kompliziert und schwer zu erstellen.

Zehn Minuten googlen haben das hier ergeben:
Code:
IF "%1"=="-sd" GOTO sd
IF "%1"=="-boot" GOTO boot
IF NOT "%1"=="" GOTO ende
IF "%1"=="" GOTO ende

echo %1

:boot
set datetimef=%date:~-4%.%date:~3,2%.%date:~0,2% - %time:~0,2%:%time:~3,2%:%time:~6,2%
echo boot %datetimef% >> test.txt
GOTO ende

:sd
set datetimef=%date:~-4%.%date:~3,2%.%date:~0,2% - %time:~0,2%:%time:~3,2%:%time:~6,2%
echo shutdown %datetimef% >> test.txt
GOTO ende

:endeIF "%1"=="-sd" GOTO sd
IF "%1"=="-boot" GOTO boot
IF NOT "%1"=="" GOTO ende
IF "%1"=="" GOTO ende

echo %1

:boot
set datetimef=%date:~-4%.%date:~3,2%.%date:~0,2% - %time:~0,2%:%time:~3,2%:%time:~6,2%
echo boot %datetimef% >> test.txt
GOTO ende

:sd
set datetimef=%date:~-4%.%date:~3,2%.%date:~0,2% - %time:~0,2%:%time:~3,2%:%time:~6,2%
echo shutdown %datetimef% >> test.txt
GOTO ende

:ende

ist zwar JodaTime aber ich denke, so wäre es sogar besser.

Rufst du das Skript mit -sd auf, so schreibt es den Text zum Herunterfahren.
Rufst du es mit -boot auf, so schreibt es den Text zum Booten.
 

arilou

Bekanntes Mitglied
Der ominöse Dienst (!), von dem hier die Rede ist, existiert seit Windows 95 (Microsoft Plus!-Paket) als "System Agent", wurde in Windows 98 zu "Task-Scheduler" umbenannt und heißt seit Vista "Aufgabenplanung". Sollte eigentlich jedem bekannt sein, der kein totaler PC-Neuling ist...

Ich lebe auf der Erde - und hinter welchem Mond wohnt ihr?
Tztztz...
Und dann einen Usernamen wie "pcProfie" wählen...
 
Zuletzt bearbeitet:

pcProfie

Aktives Mitglied
Der ominöse Dienst (!), von dem hier die Rede ist, existiert seit Windows 95 (Microsoft Plus!-Paket) als "System Agent", wurde in Windows 98 zu "Task-Scheduler" umbenannt und heißt seit Vista "Aufgabenplanung". Sollte eigentlich jedem bekannt sein, der kein totaler PC-Neuling ist...

Ich lebe auf der Erde - und hinter welchem Mond wohnt ihr?
Tztztz...
Und dann einen Usernamen wie "pcProfie" wählen...
mhm.... siehe bild...
Anhang anzeigen 7248

ich hab das jetzt folgendermaßen gemacht, hab guckys ein bit vereinfacht (für die dies interessiert):

@ECHO OFF
SET dtStamp9=%date:~0,6%%date:~8% - %time:~0,8%
ECHO DN: %dtStamp9% >> C:\Startlogger.log

in C:\Windows\System32\GroupPolicy\User\Scripts\Logoff
und

@ECHO OFF
SET dtStamp9=%date:~0,6%%date:~8% - %time:~0,8%
ECHO . >> C:\Startlogger.log
ECHO %USERNAME% >> C:\Startlogger.log
ECHO UP: %dtStamp9% >> C:\Startlogger.log

in C:\Windows\System32\GroupPolicy\User\Scripts\Logon
und beide jeweils in die gruppenrichtlinien geschrieben: gpedit.msc - benutzerkonfiguration - windows einstellungen - skripts und die beiden files da jeweils eingefügt. dadurch muss java nicht gestartet werden und das programm läuft nicht dauerhaft -> performancccceee

danke an alle konstruktiven beiträge!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Vorschläge, effizientes Hashing von Dateien für vergleich Allgemeine Java-Themen 7
Guybrush Threepwood Effizientes Ersetzen von Umlauten Allgemeine Java-Themen 3
T Programmieren als Angestellter Allgemeine Java-Themen 2
NoahPillich Navigations-App und Wegfindung selber programmieren - Erfahrungen, Ideen, Anregungen Allgemeine Java-Themen 6
M Aussagenlogik in Java Programmieren Allgemeine Java-Themen 22
B hard wrap selber programmieren Allgemeine Java-Themen 9
berserkerdq2 run-methode eines Threads so programmieren, dass 30x die Sekunde etwas ausgeführt wird. Allgemeine Java-Themen 44
L Einfache Navigations-App schnell selber Programmieren? Bitte um Ideen und Anregungen. Allgemeine Java-Themen 17
Q Java-Programmieren Allgemeine Java-Themen 1
B BOT mit Java [Eclipse] programmieren Allgemeine Java-Themen 7
kanywayne Java programmieren: Polynom Klasse Allgemeine Java-Themen 4
O wie kann ich p = s · (1 + r )^t-s programmieren? Allgemeine Java-Themen 7
N Lottowebsite programmieren mittels Java, HTML,.... Allgemeine Java-Themen 7
J Vokabeltrainer programmieren Allgemeine Java-Themen 4
S Java-Task-Management-Tool für Windows und Mac selber programmieren Allgemeine Java-Themen 4
Q Möglichkeit Online-Programmieren üben. Allgemeine Java-Themen 9
B Schach programmieren Allgemeine Java-Themen 2
S Einfaches Programm programmieren Allgemeine Java-Themen 5
F Große Datenmengen effizient programmieren Allgemeine Java-Themen 51
E Einen Bot Programmieren. Allgemeine Java-Themen 6
T Graph/Adjazenzliste programmieren Allgemeine Java-Themen 10
M Allgemeine Frage: Wie lernt man Java / Programmieren von Grund auf? Allgemeine Java-Themen 7
R Wie einen ClientBuilder / JarBuilder programmieren? Allgemeine Java-Themen 14
T Sprachsteuerung programmieren? Allgemeine Java-Themen 1
W IDEA IntelliJ Build-Management-Tool selbst programmieren Allgemeine Java-Themen 2
D Was als nächstes programmieren? Allgemeine Java-Themen 6
C Compiler programmieren Allgemeine Java-Themen 13
U Methoden Algorithmus MergeSort String [ ] array sortieren programmieren Allgemeine Java-Themen 17
H .Sh Datei ausführen programmieren Allgemeine Java-Themen 5
T Frage zu UML in Java programmieren Allgemeine Java-Themen 1
G Bot Programmieren Allgemeine Java-Themen 16
T Best Practice Eigene GUI programmieren | MouseMotion Detection Allgemeine Java-Themen 3
A Erste Schritte Die Kunst am Programmieren Allgemeine Java-Themen 20
S Captchas programmieren Allgemeine Java-Themen 6
J Java: Installer für Mods programmieren Allgemeine Java-Themen 5
J Java eigenen Button programmieren (ob Cursor im Rechteck ist oder nicht..../button pressed or not) Allgemeine Java-Themen 6
A Update Software programmieren Allgemeine Java-Themen 1
G Objekotorientiertes Programmieren / Lose Kopplung Allgemeine Java-Themen 5
G PC Fernbedienung programmieren Allgemeine Java-Themen 6
I Dringend nachhilfe in programmieren gesucht!!!!!!!! Allgemeine Java-Themen 1
I Dringend nachhilfe in programmieren in mannheim gesucht!!!!! Allgemeine Java-Themen 3
L COM Schnittstelle in Java programmieren Allgemeine Java-Themen 4
U BlueJ NXT Projekt programmieren Allgemeine Java-Themen 0
V Abwesenheitsliste programmieren - Ideen? Allgemeine Java-Themen 11
P KI für TicTacToe programmieren > Probleme Allgemeine Java-Themen 2
J (Java3D) Einen Faden programmieren - Logikproblem Allgemeine Java-Themen 5
M Android Programmieren Allgemeine Java-Themen 11
B Virtualisierung Programmieren Allgemeine Java-Themen 3
B Shortcut Erkennung programmieren Allgemeine Java-Themen 5
K Parallel programmieren mit ExecutorService Allgemeine Java-Themen 41
T Takuzu Spiel programmieren Allgemeine Java-Themen 4
L CSV Beziehungen programmieren Allgemeine Java-Themen 7
P wie logisch Programmieren? Allgemeine Java-Themen 6
K Programmieren anfangen. Allgemeine Java-Themen 21
J Problem mit Programmieren in Eclipse Allgemeine Java-Themen 5
E Klassen Mitgliederverwaltung programmieren Allgemeine Java-Themen 6
N Abkürzung STRG-G zu programmieren Allgemeine Java-Themen 4
P Java auf dem Handy programmieren Allgemeine Java-Themen 16
truesoul Sudoku programmieren Allgemeine Java-Themen 23
K sauber und schön programmieren Allgemeine Java-Themen 2
X Spiele für Handys programmieren Allgemeine Java-Themen 2
J Abbuchung vom Konto programmieren Allgemeine Java-Themen 6
P Fortgeschritten Java programmieren Allgemeine Java-Themen 2
J Dymnamische Programmieren. Allgemeine Java-Themen 4
MQue Schnittstelle programmieren Allgemeine Java-Themen 2
D brauch hilfe ! bei Spiele Programmieren Allgemeine Java-Themen 5
F Autorennen programmieren Allgemeine Java-Themen 5
H Graustufe programmieren Allgemeine Java-Themen 7
M Intervall Programmieren ? Allgemeine Java-Themen 3
leifg Rekursiv mit Threads Programmieren Allgemeine Java-Themen 2
M Java Programm als Dämon Programmieren. Allgemeine Java-Themen 7
V Avatar selbst programmieren Allgemeine Java-Themen 4
M Generics - besser programmieren, Warnung umgehen Allgemeine Java-Themen 4
G Was als fortgeschrittener Anfänger programmieren? Allgemeine Java-Themen 7
S grafisch programmieren aber nicht applets Allgemeine Java-Themen 13
W Spiel für Handy, normale GUI und Web programmieren Allgemeine Java-Themen 2
P Mehrsprachig programmieren ResourceBundle Allgemeine Java-Themen 6
reibi Eclipse PlugIn selber programmieren Allgemeine Java-Themen 3
T einen SVN- oder QVCS-Client selber programmieren Allgemeine Java-Themen 2
saxman Lego Mindstorms Roboter mit Java programmieren Allgemeine Java-Themen 9
S eine farbpipette programmieren Allgemeine Java-Themen 7
V Mit Java einen Shop programmieren ? Allgemeine Java-Themen 8
M Mehrsprachig programmieren Allgemeine Java-Themen 3
S Programmieren eines Webwatchers Allgemeine Java-Themen 4
D Tainer programmieren Allgemeine Java-Themen 7
R -jar der Windows-Registry hinzufügen Allgemeine Java-Themen 1
C jar File mehrfach aufrufen (als Windows Dienst) Allgemeine Java-Themen 5
izoards JAR als Windows Service mit Appache Procrun (prunsrv) Allgemeine Java-Themen 6
N JAVA-Code mit Grafikfenster zeichnet in Windows, aber nicht Mac. Allgemeine Java-Themen 4
HerrBolte Seltsamer Fehler nur in der Windows- und nicht in der Java-Console O_O Allgemeine Java-Themen 16
N iText keine Sonderzeichen und Umlaute unter Windows Allgemeine Java-Themen 13
MarekLanger Filebeat in Docker unter Windows Allgemeine Java-Themen 1
M Registry Autostart Eintrag mit Java erstellen (über Windows cmd) Allgemeine Java-Themen 7
M Console geht nicht auf (Windows 10) Allgemeine Java-Themen 3
M TomEE auf Windows Server 2016 installieren Allgemeine Java-Themen 4
Thallius Rätsel für Windows Profis Allgemeine Java-Themen 8
F Java Code ausführen direkt nach Anmelden in Windows Allgemeine Java-Themen 2
J jar Dateien unter Windows 7 mit spezifischer jdk öffnen Allgemeine Java-Themen 2
T Java Windows sounds erkennen Allgemeine Java-Themen 1
P Java als Windows Dienst Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben