Consolenprogramm

In dieser Linux-Ecke dürfen nur Themen rund um Linux geschrieben werden.
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
stevie1401
Beiträge: 659
Registriert: 19.10.2014 15:51
Kontaktdaten:

Consolenprogramm

Beitrag 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)
Ich programmiere nur noch mit Linux.
Linux Mint 21.x
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8679
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken
Kontaktdaten:

Re: Consolenprogramm

Beitrag 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.
Bild
stevie1401
Beiträge: 659
Registriert: 19.10.2014 15:51
Kontaktdaten:

Re: Consolenprogramm

Beitrag 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.
Ich programmiere nur noch mit Linux.
Linux Mint 21.x
stevie1401
Beiträge: 659
Registriert: 19.10.2014 15:51
Kontaktdaten:

Re: Consolenprogramm

Beitrag 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.
Ich programmiere nur noch mit Linux.
Linux Mint 21.x
stevie1401
Beiträge: 659
Registriert: 19.10.2014 15:51
Kontaktdaten:

Re: Consolenprogramm

Beitrag 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.
Ich programmiere nur noch mit Linux.
Linux Mint 21.x
Antworten