यह एक सरल स्क्रिप्ट है जो nvidia-smi
कई होस्ट्स पर कमांड चलाता है और एक सामान्य फ़ाइल में इसका आउटपुट बचाता है। यहाँ लक्ष्य इसे अतुल्यकालिक रूप से चलाना है ।
है &
के अंत में process_host()
समारोह के लिए पर्याप्त कहते हैं? क्या मेरी स्क्रिप्ट सही है?
#!/bin/bash
HOSTS=(host1 host2 host3)
OUTPUT_FILE=nvidia_smi.txt
rm $OUTPUT_FILE
process_host() {
host=$1
echo "Processing" $host
output=`ssh ${host} nvidia-smi`
echo ${host} >> $OUTPUT_FILE
echo "$output" >> $OUTPUT_FILE
}
for host in ${HOSTS[@]}; do
process_host ${host} &
done;
wait
cat $OUTPUT_FILE