Tuez les jobs SSH dans QINTER
Si vous commencez à faire du SSH (en tant que client), par exemple pour faire du GitHub, vous avez des jobs qui vont rester et que vous devrez tuer par un kill ou un ENDJOB.
C’est des jobs BCI qui restent après avoir arrêté vos JOBs interactifs.
Voici un petit script CLP qui permet de faire ça, il vous suffit de le planifier tous les soirs à 23 heures par exemples.
Ici on a utiliser la fonction table QSYS2.ACTIVE_JOB_INFO et la fonction QSYS2.QCMDEXC et on packagé le tout dans un CLP …
PGM
/* Suppression des jobs SSH dans QINTER */
dcl &NBRCURRCD *dec 10
/* Exécution de la requete SQL */
RUNSQL SQL('Create table qtemp/sortie as(SELECT +
QSYS2.QCMDEXC(''ENDJOB '' CONCAT +
JOB_NAME) as resultat FROM +
TABLE(QSYS2.ACTIVE_JOB_INFO(SUBSYSTEM_LIST_+
FILTER => ''QINTER'')) X where job_type +
= ''BCI'') with data') COMMIT(*NONE)
MONMSG MSGID(SQL0000) exec(do)
SNDUSRMSG MSG('Erreur dans l''exécution de la requête +
SQL d''épuration des jobs SSH') +
MSGTYPE(*INFO)
Return
enddo
/* Envoi d'un message de fin */
RTVMBRD FILE(QTEMP/SORTIE) NBRCURRCD(&NBRCURRCD)
if cond(&NBRCURRCD > 0) then(do)
SNDUSRMSG MSG(%CHAR(&NBRCURRCD) *TCAT ', job(s) SSH +
arrêté(s)') MSGTYPE(*INFO)
enddo
else do
SNDUSRMSG MSG('Pas de Job SSH à Supprimer ') +
MSGTYPE(*INFO)
enddo
ENDPGM
Sur les job de ssh-agent vous pouvez demander le kill directement comme ceci, merci à Julien …
La commande QSH lancer par votre CL qui vous permet de soumettre se présente donc comme ça :
eval "$(ssh-agent -s)" ; // Démarrage de l'agent
SSH ssh-add /home/jl/.ssh/github ; // Ajout de la clé à l'agent
ssh -T git@github.com ; // Test de connexion à GitHub
ssh-agent -k // Arrêter l'agent