# Java Programm als Dämon Programmieren.



## mediaOne (8. Jul 2007)

Hallo...

Ich möchte das mein Java Programm als Dämon auf einem Linux System automatisch gestartet wird wenn das System hoch fährt, wie kann ich ihn nun Programmieren das das programm überhaupt ein dämon ist.

Kleines Beipsiel wäre nett!

Danke


----------



## HoaX (8. Jul 2007)

guckst du in die api von Thread

es gibt aber auch programme weie start-stop-daemon, setsid, (x)inetd ... die ein progamm direkt im hintergrund starten.


----------



## Guest (8. Jul 2007)

HoaX hat gesagt.:
			
		

> guckst du in die api von Thread



das hier hat übrigens nichts mit deinem problem zu tun


----------



## HoaX (8. Jul 2007)

@gast: es hat etwas mit seinem zu tun  - ICH hab kein problem 


			
				nediaOne hat gesagt.:
			
		

> ... wie kann ich ihn nun Programmieren das das programm überhaupt ein dämon ist. ...



du darfst gerne versuchen mich zu widerlegen, aber ein "nein" ist mal ne gaaaanz flache argumentation!


----------



## Gast (8. Jul 2007)

> Marks this thread as either a daemon thread or a user thread. The Java Virtual Machine exits when the only threads running are all daemon threads.



Ein mit setDaemon getagter Thread wird also beendet wenn es keine unser threads mehr gibt. Dies bezieht sich also auf einen Java Thread.
mediaOne möchte gern ein Programm im Hintergrund laufen lassen und automatisch starten lassen. Hier gehts also um einen Betriebsystem Prozess. Der btw. nicht beendet werden soll


----------



## mediaOne (8. Jul 2007)

Hallo Gast,

danke genau das möchte Ich ! fragt sich nur wie ich das mit Java anstelle.
Mit setDaemon kann ich mich nicht anfreunden, denn meiner meinung nach nur ein Halbherziger Daemon.

Also wer kann Helfen ?
Google gibt nicht wirklich was her!


----------



## Gast (8. Jul 2007)

http://pezra.barelyenough.org/blog/2005/03/java-daemon/
http://jakarta.apache.org/commons/daemon/
http://www.google.de/search?q=java+daemon


----------



## tuxedo (9. Jul 2007)

Muss es denn unbedingt ein Daemon sein? Reicht es nicht über ein Runlevel-Script das Programm beim hochfahren zu starten und beim runterfahren wieder zu beenden?

Mit einem "&" am Ender der Zeile die das Java-Programm startet (was in Windows mit einem "start" am Anfang funktioniert), wird die JVM zusammen mit dem Programm eh im Hintergrund laufen lassen -->

Linux:

```
java -cp XYZ -jar MeinProgramm.jar &
```

Windows:

```
start javaw -cp XYZ -jar MeinProgramm.jar
```

Also eine Art Daemon-Modus. Und wenn man noch auf eine Programmconsole des Java-Programms zugreifen muss benutzt man einfach das schicke Tool "screen".

Irgendwie will es nicht so ganz in meinem Kopf warum man das auf Java-Seite lösen muss wenn es doch so schicke Betriebssystemlösungen gibt. 

Aber wieso einfach wenn es auch kompliziert geht ?!

P.S. Der erste der drei geposteten Links beschreibt das ziemlich gut, wie ich finde...


----------

