PB Programm wird im Hintergrund angehalten (gelöst)

In dieser Linux-Ecke dürfen nur Themen rund um Linux geschrieben werden.
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Velz
Beiträge: 182
Registriert: 18.10.2004 22:20

PB Programm wird im Hintergrund angehalten (gelöst)

Beitrag 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
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
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: PB Programm wird im Hintergrund angehalten

Beitrag von Kiffi »

Velz hat geschrieben:Hat jemand eine grundsätzliche Idee zur Fehlersuche?
Glaskugel hat geschrieben:WaitWindowEvent()?
Grüße ... Kiffi
a²+b²=mc²
Velz
Beiträge: 182
Registriert: 18.10.2004 22:20

Re: PB Programm wird im Hintergrund angehalten

Beitrag von Velz »

Ist eine reine Consolenanwendung... daher eher nicht!

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
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: PB Programm wird im Hintergrund angehalten

Beitrag von Kiffi »

Velz hat geschrieben:Ist eine reine Consolenanwendung... daher eher nicht!
verzeih mir meine Unwissenheit.

Grüße ... Kiffi
a²+b²=mc²
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: PB Programm wird im Hintergrund angehalten

Beitrag von DarkDragon »

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.
Velz
Beiträge: 182
Registriert: 18.10.2004 22:20

Re: PB Programm wird im Hintergrund angehalten

Beitrag 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.
Win10/64|Ubuntu-Server|Mint WS // Programmiere Datenbankanwendungen und Tools mit PB-5.x und MySQL-5.x unter Win und Linux
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Re: PB Programm wird im Hintergrund angehalten

Beitrag 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.
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Velz
Beiträge: 182
Registriert: 18.10.2004 22:20

Re: PB Programm wird im Hintergrund angehalten

Beitrag 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!
Win10/64|Ubuntu-Server|Mint WS // Programmiere Datenbankanwendungen und Tools mit PB-5.x und MySQL-5.x unter Win und Linux
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: PB Programm wird im Hintergrund angehalten (gelöst)

Beitrag von DarkDragon »

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.
Velz
Beiträge: 182
Registriert: 18.10.2004 22:20

Re: PB Programm wird im Hintergrund angehalten (gelöst)

Beitrag 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.
Win10/64|Ubuntu-Server|Mint WS // Programmiere Datenbankanwendungen und Tools mit PB-5.x und MySQL-5.x unter Win und Linux
Antworten