In HTTP-Hintergrundanfrage @burakbagdatli schlug vor, RunProgram zu verwenden, um eine weitere Kopie von JMP auszuführen. Hier ist ein Spielzeugbeispiel, das einige der Probleme umgeht, auf die Sie möglicherweise stoßen. Für die Ausführung auf dem Mac sind einige Anpassungen erforderlich. Ich habe es nur unter Windows versucht.
// a place to keep up with running instances
rp = [=> ];
rpIndex=0;
nrows=8; // each copy of JMP will retrieve one row, from 1..nrows
For( i = 1, i <= nrows, i += 1,
// build a custom JSL for each JMP to execute
workerFileName = Save Text File(
"$temp\deleteMe_RunsWhenLaunchedBeCareful" || Char( i ) || ".jsl",
"\[//!
instance = ]\"||char(i)||"\[;
deletefile("$temp/sentinel.txt");
dt=open("$sample_data/big class.jmp");
dt<<SELECTROWS></SELECTROWS>Für jede Kopie von JMP wird eine separate JSL-Datei erstellt. In diesem Beispiel benötigt JMP nur eine Instanznummer. Jede Instanz öffnet ihre eigene Kopie von Big Class und erhält den i-ten Namen. Antworten werden in einer anderen Datei mit einem Namen zurückgegeben, der die Instanznummer enthält. Wenn alle Instanzen abgeschlossen sind, werden die Antworten gesammelt.
Der Sentinel erkennt, wenn eine JMP-Instanz vollständig gestartet und mit dem Schreiben der Einstellungsdatei (usw.) fertig ist. Ohne den Sentinel liest JMP die Einstellungen möglicherweise nicht richtig und zeigt alle möglichen seltsamen Dialoge an, die Sie lieber nicht sehen möchten.