La plupart des programmeurs Unix savent combiner des utilitaires shell pour accomplir des tâches. Sur l'AS/400, on peut également combiner ses propres utilitaires Java avec des utilitaires QShell d'IBM pour obtenir des résultats intéressants. Examinons le simple utilitaire Java suivant qui donne la listes des propriétés runtime d'une JVM (Java
Pipes QShell
Virtual Machine) :
public class ShowMeProperties {
public static void main(String[] args) {
java.util.Properties p =
System.getProperties();
p.list(System.out);
}
}
Sur la plupart des AS/400, l’exécution de ce programme produit une liste de 30 propriétés ou plus. Supposons que l’on veuille réduire la liste aux seules propriétés propres à l’OS/400 (en les distinguant dans la liste par le texte os400.). On peut le faire en tirant parti de la capacité inhérente à Qshell de diriger la sortie d’un utilitaire vers l’entrée d’un autre utilitaire par un moyen appelé pipe et indiqué par une barre verticale (|). En pratique, un pipe se présente ainsi :
java ShowMeProperties | grep 'os400.'
Dans cet exemple, le pipe sert d’agent de liaison entre la sortie du programme Java et l’entrée de l’utilitaire grep du shell. Quand on utilise grep de cette manière, il recherche le texte os400 dans chaque ligne de sortie de la liste de propriétés, et n’imprime que les lignes contenant ce texte :
os400.create.type=direct os400.class.path.security.check=20 os400.class.path.rawt=0 os400.class.path.system=PRE . . .
Avec des pipes, on peut diriger le flux de sortie standard des programmes Java vers toutes sortes d’utilitaires QShell. Avant d’ajouter des fonctionnalités aux utilitaires Java maison, il faut voir si l’on ne peut pas obtenir les mêmes résultats en “pipant ” la sortie vers un utilitaire shell existant.
A noter que si l’on reçoit le message d’erreur “ Process must be multithread capable to run Java programs ” lors de l’exécution de la commande Java présentée ci-dessus, il faut utiliser la commande OS/400 suivante pour qualifier les processus multithreaded dans Qshell :
ADDENVVAR ENVVAR(QIBM_MULTI_THREADED)
VALUE(Y)
Dan Darnell
Rédacteur technique NEWS/400
Téléchargez cette ressource
Mac en entreprise : le levier d’un poste de travail moderne
Ce livre blanc répond aux 9 questions clés des entreprises sur l’intégration du Mac : sécurité, compatibilité, gestion, productivité, coûts, attractivité talents, RSE et IA, et l’accompagnement sur mesure proposé par inmac wstore.
Les articles les plus consultés
- Cybersécurité Active Directory et les attaques de nouvelle génération
- Activer la mise en veille prolongée dans Windows 10
- IBM i célèbre ses 25 ans
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server
Les plus consultés sur iTPro.fr
- BlueSecure repense la sensibilisation à la cybersécurité avec des formats immersifs et engageants
- Les agents d’IA fragilisent la sécurité : pour les sécuriser, inutile de repartir de zéro
- Yampa : innovation en IA, souveraineté et sécurité au service des DSI
- Les marchés publics peuvent-ils encore faire émerger des champions numériques français ?
Articles les + lus
Computex 2026 : 5 signaux forts à retenir
La chaîne d’approvisionnement, point de rupture récurent du SI
Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
Analyse Patch Tuesday Mai 2026
À la une de la chaîne Tech
- Computex 2026 : 5 signaux forts à retenir
- La chaîne d’approvisionnement, point de rupture récurent du SI
- Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
- Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
- Analyse Patch Tuesday Mai 2026
