Ich habe da wieder mal ein kleines Problem. Ich habe da ein Programm erstellt, das über die system() Funktion externe Programme aufrufen kann. Das funktioniert auch erstmal problemlos.
Aber es gibt da ein kleines Problem. Das Programm sucht aus einer Liste (Datei) nach bestimmten Kriterien Dateinamen aus, die dann einem externen Programm übergeben werden. Meistens handelt es sich dabei um Bild-Dateien, die an feh übergeben werden. Und das können auch mal recht viele sein. Von meinen Experimenten mit Bash Scripten weiß ich, dass die Grenze etwa bei knapp 300 Instanzen liegt. Damit die Bilder alle (quasi) gleichzeitig erstellt werden, geschieht der Aufruf etwa so:
sytem( "feh %s &" );
wobei der String vom Programm zusammengestellt wird.
Das Problem ist dabei das "&" Zeichen. Ich möchte ja, das alle Bilder angezeigt werden. Die sind übrigens nur ca. 480x140 px klein.
Welche Möglichkeiten habe ich da, zu erkennen dass keine weiteren Fenster mehr geöffnet werden können. Wenn ich die Doku richtig verstehe, bekomme ich als Ergebnis nur die Aussage, ob das Programm (hier feh) gestartet werden konnte, aber wohl nicht ob feh seine Aufgabe überhaupt beginnen konnte.
Kennt jemand Alternativen, die zumindest einen erfolgreichen Start erkennen können?
Also ich möchte nicht einzelne Bilder nacheinander abrufen, sondern alle Bilder auf dem Desktop zum sortieren haben und nicht zutreffende (bezogen auf die Suchanfrage) einfach weg klicken.
Wenn also keine weiteren Fenster / Bilder mehr erzeugt werden können, soll das Programm vorübergehend stoppen oder eine Meldung im Statusbalken anzeigen.
Geht das irgendwie?