Seite 1 von 1

Consolenprogramm

Verfasst: 21.01.2015 21:06
von stevie1401
Ich habe ein Programm für die Konsole geschrieben.
Ich kann es mit ./programmname starten, nur dann würde es beendet werden, wenn ich die Konsole schliesse.

Normalerweise starte ich auf meinem virtuellen Linux-vServer Programme so:
./ProgrammName&

Das & - Zeichen ermöglicht mir die Konsole mit EXIT zu verlassen ohne dass mein Programm beendet wird.
Die klappt aber mit meinem mit PB geschriebenem Programm NICHT.

Es kommt immer der Hinweis, wenn ich nun mit EXit gehe, dass dann mein Programm beendet wird.
Wie muss ich mein PB-Programm compilieren, dass es normal lauffähig ist?
Ich habe es mit Executableformat LINUX und auch Console probiert, beides geht nicht.

Anmerkung:
der vServer sagt: Datenübergabe unterbrochen (broken pipe)

Re: Consolenprogramm

Verfasst: 21.01.2015 21:46
von NicTheQuick
Mit dem & legst du das Programm nur in den Hintergrund. Mit dem Befehl 'jobs' kannst du dir alle Hintergrundprogramm anschauen, die du in der Sitzung gestartet hast. Mit 'fg' kannst du ein Programm wieder in den Vordergrund holen. Du brauchst wahrscheinlich 'disown' um das Programm zu forken und es von der aktuellen Sitzung loszulösen.

Code: Alles auswählen

 ~$ ./programmname &
~$ disown
~$ exit
Sollte dein Problem lösen.

Re: Consolenprogramm

Verfasst: 21.01.2015 23:19
von stevie1401
Erst einmal vielen Dank für die schnelle Antwort.
Nach dem x-ten Versuch ging es plötzlich....
Also meine Freebasic-Konsolenprogramme laufen alle mit dem & auf dem vServer und ich kann einfach mit EXIT den vServer verlassen und die Programme laufen weiter.
Warum das plötzlich mit einem PB-Programm anders sein sollte erschliesst sich mir nicht.
Festgestellt habe ich allerdings, dass ich auf KEINEN FALL den Openconsole()-Befehl nehmen darf. Dann lässt er auf keinen Fall los.


Ich schau mir das morgen noch einmal genauer an.

Re: Consolenprogramm

Verfasst: 23.01.2015 02:43
von stevie1401
Es scheint Zufall gewesen zu sein, dass es 1x klappte.
Nun geht es nämlich nicht mehr - zumindest nicht mit dem & oder "disown".
Ein ./ProgrammName ohne & funktioniert, das Prog startet, aber ich kann halt das Konsolenfenster nicht verlassen.
MIT & geht es definitiv nicht, egal wie ich das Programm compiliere.
Hat jemand einen Tip woran es liegen kann?

Meine Freebasicprogramme kann ich weiterhin problemlos mit ./Programmname starten und die Konsole mit EXIT verlassen.

Re: Consolenprogramm

Verfasst: 23.01.2015 11:39
von stevie1401
UPDATE:
Es scheint sich um einen Fehler in der 32bit Version von Purebasic für Linux zu handeln.

Ich habe meinen vServer neu aufgesetzt und bin von 32 auf 64bit gewechselt.
Die von PureBasic64 erstellten Konsolenprogramme laufen nun einwandfrei und ohne Probleme.
Ich kann sie einfach mit ./Programmname& starten und mit EXIT die Konsole verlassen.