Existe-t-il une méthode en command line pour savoir si tous les téléchargements actuels dans Chromium sont terminés?

Existe-t-il un moyen de command line pour déterminer si tous les téléchargements actuels dans Chrome ont terminé? Par téléchargement, je veux download des videos de Youtube. Je ne veux pas simplement countr sur l'onglet Téléchargements de Chromium pour voir si un téléchargement est en cours. Y a-t-il une command que je peux exécuter ou un file que je peux vérifier pour voir si un téléchargement est en cours?

Si vous connaissez les paths des files que vous téléchargez (par exemple, si vous les mettez tous dans un directory), vous pouvez vérifier si ces files sont toujours ouverts.

 lsof ~/Downloads 

Vous pouvez get une notification lorsque Chrome a fini de les écrire (en supposant que Linux :

 inotifywait -e close_write ~/Downloads 

Si vous voulez listr tous les téléchargements en attente (ou ceux terminés), un moyen maladroit est d'accéder à la database de Chrome. Puisque Chrome maintient la database verrouillée, vous ne pouvez pas y accéder directement (du less pas avec l'outil de command line sqlite3 ), vous devez faire une copy du file et il y a peu de chances que vous obteniez une vue incohérente, donc ce n'est pas complètement fiable mais devrait être assez bon pour un usage occasionnel.

 tmp=$(mktemp) cp ~/.config/google-chrome/Default/Downloads "$tmp" echo 'select target_path from downloads where end_time is null;' | sqlite3 "$tmp" rm "$tmp" 

La meilleure approche serait probablement de faire en sorte que Chrome vous avertisse lorsque le téléchargement est terminé. L'extension Download Notifier le fait, mais il a des effets secondaires supplémentaires et vous donne une notification de bureau, pas quelque chose que vous pouvez utiliser facilement à partir de la command line. La partie key du code semble être la suivante:

 chrome.downloads.onChanged.addListener(function(obj) { if (obj.hasOwnProperty("state") && obj.state.current === "complete") { chrome.downloads.search({id: did}, function(items) { filename = items[0].filename; … } } }); 

devrait être rempli avec une méthode pour communiquer avec le monde extérieur (créer un file quelque part dans le directory de l'extension, peut-être), ce qui est au-delà de mes connaissances en programmation d'extension Chrome.