<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Existe-t-il un moyen de tuer l'appel RunProgram() ?J'ai un script JSL qui utilise RunProgram pour effectuer une requête de données.Parfois, la requête de données peut être bloquée sur quelque chose côté serveur (généralement si je fais par erreur une requête trop importante).J'aimerais implémenter une minuterie qui tuera le RunProgram s'il a fonctionné trop longtemps.Des pensées?
Sous Windows, cela fonctionne pour tuer un programme de 500 secondes après seulement 10 secondes :
RP = Exécuter le programme (
Exécutable(
"PING.EXE"
),
Options( {"-n 500", "localhost"} ),
FonctionLire(
Fonction( {ceci},
Écrivez (ce <
)
)
);
x = programme(10, PR=0 
Sur MAC JMP 11, quelque chose de similaire fonctionnera.MAC JMP 12 RunProgram ne rompt pas correctement la connexion, mais cela est corrigé pour une version future.
La variable RP est un handle vers l'objet programme d'exécution.Lorsque vous détruisez le dernier handle de l'objet en définissant la variable RP sur une valeur différente, l'objet run program ferme les handles stdin/stdout vers le programme externe.Vous recevrez un message de journal à ce sujet.
Il n'y a aucun moyen de le faire si vous utilisez readfunction("text").
Le serveur de base de données doit voir cela comme n'importe quelle autre connexion interrompue et libérer les ressources de manière appropriée.