J'ai ceci:Bash: variables capture statistiques intermédiaires de ping sur SIGQUIT à
ping -q xxx.xxx.xxx.xxx & disown; pingpid=$!
for run in {1..3}; do
sleep 5
stats+=$(kill -SIGQUIT $pingpid)
done
kill $pingpid
Donc, fondamentalement, je lance ping en arrière-plan avec -q options (pour montrer que stats), obtenir son PID puis exécuter un for
boucle dans laquelle je veux stocker les stats intermédiaires de ping sur chaque kill -SIGQUIT $pingpid
dans une variable ... c'est 3 lignes de statistiques, à 5 secondes d'intervalle.
Je peux voir les statistiques intermédiaires imprimées sur stdout mais quand je vérifie la variable $stats
, je la trouve vide. J'ai aussi essayé avec la redirection de stderr vers stdout mais je ne peux toujours pas obtenir la variable pour avoir les stats stockées dedans.
Bonne question ... On dirait que tout ce qui est imprimé suite à 'kill -SIGQUIT' n'utilise pas de flux de sortie standard. '>' et '2>' n'effectuent certainement aucune redirection. – arco444