2. Es wird ein doppelstart verhindert
Konflikt mit doppeltem Öffnen der RS232 verhindern ? Bzw. andere Programme könnten ja die Kommunikation
stören. Oder was ist der Sinn dahinter ?
Oder generell ?
Da es ja ein Konsolenprogramm ist, wird es schwieriger, die PID (Program-ID) zu ermitteln.
Oder geht das genauso, wie bei einem Fenster ?
Da gäbe es noch die Möglichkeit, das Schnittstellenhandle in einer named pipe (FileMap) beim
Erststart zu speichern und bei Programmende wieder zu löschen. Also Programm startet und
sieht in der Filemap nach. Ist kein Handle drin, schreibt es Handle der Schnittstelle in diese Filemap.
Wird das Programm nun in zweiter Instanz gestartet, fragt es die Filemap wieder ab. Steht schon ein
Handle drin, ist der Port schon offen. Natürlich muß das Programm bei Programmende die Filemap
wieder zurück setzen.
Das ganze könnte man auch mit der PID machen.
So könnte ich mir das vorstellen.
Vielleicht ist auch der Weg, die Schnittstelle exklusiv zu öffnen einfacher.
Lektüre :
https://en.wikibooks.org/wiki/Serial_Pr ... ng/termios
Ist zwar englisch, steht aber einiges drin.