est ici un simple script bash pour le code d'état HTTPlecture multiple à partir d'un fichier txt dans bash (traitement parallèle)
while read url
do
urlstatus=$(curl -o /dev/null --silent --head --write-out '%{http_code}' "${url}" --max-time 5)
echo "$url $urlstatus" >> urlstatus.txt
done < $1
Je lis URL du fichier texte mais il ne traite qu'une seule à la fois, en prenant trop beaucoup de temps, GNU parallèle et xargs traitent également une ligne à la fois (testé)
Comment traiter l'URL simultanée pour le traitement afin d'améliorer la synchronisation? En d'autres mots de filetage de fichier URL plutôt que des commandes bash (qui parallèle GNU et xargs faire)
Input file is txt file and lines are separated as
ABC.Com
Bcd.Com
Any.Google.Com
Something like this
Pourquoi ne pas lire le fichier et créer un script nohup différent pour chaque URL? –
pouvez-vous élaborer plus – user7423959
Qu'est-ce qui prend trop de temps exactement? S'il vous plaît donner un exemple. Une boucle 'bash' lisant 10 000 URL finira probablement avant les 2-3 premières commandes' curl', ce qui n'est pas le goulot d'étranglement et ne vaut pas l'optimisation. Utilisez simplement ** GNU Parallel ** pour exécuter les commandes 'curl'. –