Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Besonderheiten

&pagelevel(3)&pagelevel

Beim Aufruf eines BS2000-Programmes mit START-PROGRAM wird weder die Datei /etc/profile noch die Datei .profile des Anwenders ausgeführt. Das hat zur Folge, dass sich ein Programm unter Umständen anders verhält, als wenn es unter der Shell gestartet würde. Insbesondere wenn in den Profiles mit umask die Dateizugriffsrechte von neu angelegten Dateien eingeschränkt werden, hat dies bei den mit START-PROGRAM gestarteten Programmen keine Wirkung. D.h. diese Programme erzeugen dann Dateien mit größeren Zugriffsrechten, als beabsichtigt. Es gibt derzeit auch keine Abhilfe dafür. Da die Tools von der Prozedur START mit dem Kommando START-PROGRAM gestartet werden, sind sie entsprechend davon betroffen.

Die Umgebungsvariable PATH ist nach START-PROGRAM nicht gesetzt. Das hat zur Folge, dass die Erzeugung eines neuen Prozesses mit fork/exec unter Umständen nicht möglich ist, wenn das zu startende Programm nicht gefunden werden kann. Eine Lösung dieses Problems ist möglich, indem Sie vor dem Aufruf von START-PROGRAM die SDF-P-Variable SYSPOSIX.PATH auf den in der Shell verwendeten Wert setzten, oder im Programm bei exec() einen vollständigen Pfadnamen angeben. In Java wirkt sich dieses Problem bei der Methode Runtime.exec() aus.



Beispiel

Die folgende Anweisung ist nicht ausführbar, wenn die Umgebungsvariable PATH nicht korrekt gesetzt wurde:

Process child = Runtime.getRuntime().exec("java Myclass");

Die folgende Anweisung behebt das Problem:

Process child =
Runtime.getRuntime().exec(System.getProperty("java.home") +
"/bin/java Myclass");


Auch wenn die VM mit START-PROGRAM gestartet wird, geht die Ein/Ausgabe standardmäßig auf Dateien des POSIX-Dateisystems. BS2000-Dateien können über das Package JRIO geöffnet werden. Die Klassendateien müssen immer im POSIX-Dateisystem liegen.