Seite 1 von 3
PB Programm wird im Hintergrund angehalten (gelöst)
Verfasst: 25.07.2011 14:47
von Velz
Hei...
Ich habe unter PB 4.5 ein Tool für meinen UBUNTU 10.4 Server geschrieben.
Wenn ich das Prog normal starte läuft es hervorragend. Wenn ich es mit & in den Hintergrund starte wird es zwar gestartet aber es passiert nichts. jobs zeigt dieses Programm als angehalten. Ich kann es aber mit bg nicht in bewegung setzen. mit fg in den Vordergrund geholt, läuft es wieder.
Ich verwende Runprogramm! Hat jemand eine grundsätzliche Idee zur Fehlersuche?
Nachtrag: Ach ja... 64Bit
Re: PB Programm wird im Hintergrund angehalten
Verfasst: 25.07.2011 15:07
von Kiffi
Velz hat geschrieben:Hat jemand eine grundsätzliche Idee zur Fehlersuche?
Glaskugel hat geschrieben:WaitWindowEvent()?
Grüße ... Kiffi
Re: PB Programm wird im Hintergrund angehalten
Verfasst: 25.07.2011 15:59
von Velz
Ist eine reine Consolenanwendung... daher eher nicht!
Mir fällt einfach kein Ansatz ein..! Muss ich wohl die Befehle einzeln testen!
Re: PB Programm wird im Hintergrund angehalten
Verfasst: 25.07.2011 16:03
von Kiffi
Velz hat geschrieben:Ist eine reine Consolenanwendung... daher eher nicht!
verzeih mir meine Unwissenheit.
Grüße ... Kiffi
Re: PB Programm wird im Hintergrund angehalten
Verfasst: 25.07.2011 16:07
von DarkDragon
Hast du vllt. Input() drin? Inkey()? Beide warten unter Linux auf eine Eingabe.
Re: PB Programm wird im Hintergrund angehalten
Verfasst: 25.07.2011 16:53
von Velz
hm.. auch nochmals nachgesehen! nichts drin. Wie gesagt, direkt von der Commandozeile im Vordergrund läuft es hervorragend! Sobald ich das Teil mit "&" in den Hintergrund schiebe ist Ende. Der einzige Unterschied zu anderen Programmen mit denen ich das tue ist RunProgramm mit einlesen und Verarbeiten der Ausgabe und schreiben in Mysql über die libmysqlclient.so.16...
In /var/log gibt es aber keinen Fehler-Eintrag dazu! Es gibt auch keine Fehlermeldung!
Ich werde das heute Abend mal intensiv testen. Ich hatte halt die Hoffnung, dass jemand das Prob schon hatte.
Re: PB Programm wird im Hintergrund angehalten
Verfasst: 25.07.2011 21:02
von AND51
Apropòs "Logging", durchsetze dein Programm doch mal intensiv mit Debugging-Zeilen! Vor/nach jedem wichtigem Code-Abschnitt und Befehl eine Zeile Text in eine eigene Datei schreiben lassen, beispielsweise nach "/tmp/log.txt".
Wenn du Glück hast, liegt es ja möglicherweise immer am selben Befehl, der, wenn das Programm im Hintergrund ausgeführt wird, das Programm auch anhält. Wenn es immer ein anderer Befehl ist, liegt es vielleicht an der Lib oder einfach an der Tatsache an sich, dass dein Programm nicht "hintergrund-fähig" ist. Ob es immer der selbe Befehl ist, prüfst du, indem du immer unterschiedlich lange wartest, bis du das Programm mit "bg" und "fg" in beeinflusst.
Re: PB Programm wird im Hintergrund angehalten
Verfasst: 25.07.2011 23:00
von Velz
gelöst!!!
Also Vorab nochmals meine Rahmenbedingungen:
Ubuntu Desktop 11.4 64Bit
Ubuntu Server 10.4 64Bit
PB Linux 4.51 64Bit
Des Rätsels Lösung:
Wie es scheint, darf man bei einem Consolenprogram, das im Hintergrund (mit ./befehl &) laufen soll, die Befehle OpenConsole und CloseConsole nicht verwenden.
Es ist auch nicht notwendig, wenn man das Prog von der Console startet bekommt man die Ausgabe von PrintN auch ohne diese Befehle.
Also, einfach weglassen!
Im fast gleichen Programm von Ende 2009 auf 32 Bit, das heute noch läuft besteht das Problem nicht!
Re: PB Programm wird im Hintergrund angehalten (gelöst)
Verfasst: 26.07.2011 08:35
von DarkDragon
Hast du eigentlich in den Compiler-Optionen "Console"-Executable ausgewählt?
Re: PB Programm wird im Hintergrund angehalten (gelöst)
Verfasst: 26.07.2011 09:20
von Velz
selbst das!
Wäre interessant ob Ihr den Fehler auch habt!
Damit konnte ich das reproduzieren!
OpenConsole()
PrintN("tut")
CloseConsole()
Compilieren und mit & ab in den Hintergrund.
jobs bringt dann einen angehaltenen Job, der sich nur mit kill -9 PID töten lässt!
Ach ja, so richtig ordentlich beenden lässt sich ein Hintergrundjob, wie es scheint, auch nicht.