PB Programm wird im Hintergrund angehalten (gelöst)
PB Programm wird im Hintergrund angehalten (gelöst)
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
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
Zuletzt geändert von Velz am 25.07.2011 23:01, insgesamt 2-mal geändert.
Win10/64|Ubuntu-Server|Mint WS // Programmiere Datenbankanwendungen und Tools mit PB-5.x und MySQL-5.x unter Win und Linux
Re: PB Programm wird im Hintergrund angehalten
Velz hat geschrieben:Hat jemand eine grundsätzliche Idee zur Fehlersuche?
Grüße ... KiffiGlaskugel hat geschrieben:WaitWindowEvent()?
a²+b²=mc²
Re: PB Programm wird im Hintergrund angehalten
Ist eine reine Consolenanwendung... daher eher nicht!
Mir fällt einfach kein Ansatz ein..! Muss ich wohl die Befehle einzeln testen!
Mir fällt einfach kein Ansatz ein..! Muss ich wohl die Befehle einzeln testen!
Win10/64|Ubuntu-Server|Mint WS // Programmiere Datenbankanwendungen und Tools mit PB-5.x und MySQL-5.x unter Win und Linux
Re: PB Programm wird im Hintergrund angehalten
verzeih mir meine Unwissenheit.Velz hat geschrieben:Ist eine reine Consolenanwendung... daher eher nicht!
Grüße ... Kiffi
a²+b²=mc²
-
- Beiträge: 6291
- Registriert: 29.08.2004 08:37
- Computerausstattung: Hoffentlich bald keine mehr
- Kontaktdaten:
Re: PB Programm wird im Hintergrund angehalten
Hast du vllt. Input() drin? Inkey()? Beide warten unter Linux auf eine Eingabe.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Re: PB Programm wird im Hintergrund angehalten
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.
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.
Win10/64|Ubuntu-Server|Mint WS // Programmiere Datenbankanwendungen und Tools mit PB-5.x und MySQL-5.x unter Win und Linux
Re: PB Programm wird im Hintergrund angehalten
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.
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.
PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
Re: PB Programm wird im Hintergrund angehalten
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!
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!
Win10/64|Ubuntu-Server|Mint WS // Programmiere Datenbankanwendungen und Tools mit PB-5.x und MySQL-5.x unter Win und Linux
-
- Beiträge: 6291
- Registriert: 29.08.2004 08:37
- Computerausstattung: Hoffentlich bald keine mehr
- Kontaktdaten:
Re: PB Programm wird im Hintergrund angehalten (gelöst)
Hast du eigentlich in den Compiler-Optionen "Console"-Executable ausgewählt?
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Re: PB Programm wird im Hintergrund angehalten (gelöst)
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.
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.
Win10/64|Ubuntu-Server|Mint WS // Programmiere Datenbankanwendungen und Tools mit PB-5.x und MySQL-5.x unter Win und Linux