J'ai laissé un script en cours d'exécution sur une machine distante depuis que j'y travaillais localement. Je peux me connecter via SSH à la machine en tant que même utilisateur et voir le script s'exécuter ps
.
$ ps aux | grep ipcheck
myuser 18386 0.0 0.0 18460 3476 pts/0 S+ Dec14 1:11 /bin/bash ./ipchecker.sh
Il s'agit simplement de sortir sur stdout sur une session locale (je courais depuis ./ipchecker.sh
une fenêtre de terminal locale, pas de redirection, pas d'utilisation de screen
etc.).
Y at-il quand même une session SSH que je peux voir le résultat de cette commande en cours d’exécution (sans l’arrêter)?
Jusqu'ici, le mieux que j'ai trouvé est d'utiliser, strace -p 18386
mais je reçois des hordes de texte qui volent à l'écran, c'est beaucoup trop détaillé. Je peux m'arrêter strace
et passer au crible le résultat et trouver le texte importé sur la sortie standard, mais il est très long et déroutant. Évidemment, tant qu'il sera arrêté, je risque de rater quelque chose. J'aimerais trouver un moyen de voir la sortie du script en direct comme si je travaillais localement.
Quelqu'un peut-il améliorer cela? La réponse évidente est de redémarrer le script avec la redirection ou dans une screen
session, etc., ce n'est pas un script essentiel à la mission, donc je pourrais le faire. Plutôt, je vois cela comme un exercice d'apprentissage amusant.
strace -p 4232 -e write