Daemon-Modus

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
jschmidt
User
Beiträge: 6
Registriert: Donnerstag 15. September 2005, 08:20

Hi Leute...

ist es möglich ein mit python erstelltes Programm im hintergrund laufen zu lassen??? Also dass das Programm sich beim start selbstständig in den Hintergrund verlegt?

danke im voraus...?? :D
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Also unter Windows startet ein Python-Skript mit der Endung .pyw ohne "Eingabeaufforderung"-Fenster...

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
jschmidt
User
Beiträge: 6
Registriert: Donnerstag 15. September 2005, 08:20

ich bräuchte es allerdings Betriebssystem-übergreifent...und er sollte es schon selbstständig machen
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Unter Linux gibt es auch die Möglichkeit das Script vom Terminal auszuklinken: python script.py &, wenn es aber selbst im den Hintergrund soll, dann gibt es ein, zwei Rezepte im Python Cookbook zu dem Thema.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
Masaru
User
Beiträge: 425
Registriert: Mittwoch 4. August 2004, 22:17

jschmidt hat geschrieben:ich bräuchte es allerdings Betriebssystem-übergreifent...und er sollte es schon selbstständig machen
Du willst also ein Script, welches sich selbständig von "sich aus" in der Hintergrund stellt, ohne dass man es entsprechend der Betriebssystem-Syntax startet?

Hm du könntest dir einen Start_Script.py basteln, welches je nach erkanntem Betriebssystem, dein eigentliches Python-Script mit entsprechender Syntax (wie von jens und Leonidas beschrieben) aufruft/startet.

Vielleicht so in etwa:

Code: Alles auswählen

# <snip>
import os, sys

platform = sys.platform

if 'win' in platform :
    if os.path.isfile('server.py'):
        os.rename('server.py', 'server.pyw')
        os.popen('python server.pyw')
elif 'linux' in platform :
    if os.path.isfile('server.pyw'):
        os.rename('server.pyw', 'server.py')

        os.popen('python server.py &')
# </snip>
Nicht wirklich so richtig fein codiert oder gut durchdacht, aber nach dem Motto "Make it work, make it fast, make it right" in erster Annäherung auf das erste Prinzip vielleicht brauchbar ;).

>>Masaru<<
jschmidt
User
Beiträge: 6
Registriert: Donnerstag 15. September 2005, 08:20

danke für eure antworten..aber die Rezepte im Cookbook sind das was ich suche...
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Aber os.fork() geht afaik nur unter Unices.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten