Существует ли метод командной строки, чтобы сказать, закончились ли все текущие загрузки в Хроме?

Я проверил бы использование дважды iwlist wlan0 scan от терминала, чтобы видеть, если устройство wlan0 видьте точки доступа:

$ iwlist wlan0 scan | grep -v IE:
wlan0     Scan completed :
          Cell 01 - Address: 34:12:AB:12:C4:4D
                    Channel:6
                    Frequency:2.437 GHz (Channel 6)
                    Quality=58/70  Signal level=-52 dBm  
                    Encryption key:on
                    ESSID:"none_of_your_business"
                    Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 18 Mb/s
                              24 Mb/s; 36 Mb/s; 54 Mb/s
                    Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 48 Mb/s
                    Mode:Master
                    Extra:tsf=00000477a0ba1234
                    Extra: Last beacon: 71963ms ago
                        Group Cipher : TKIP
                        Pairwise Ciphers (2) : CCMP TKIP
                        Authentication Suites (1) : PSK
                        Group Cipher : TKIP
                        Pairwise Ciphers (2) : CCMP TKIP
                        Authentication Suites (1) : PSK

Я также открыл бы окно терминала и выследил бы /var/log/syslog в то время как Вы перезапускаете NetworkManager:

$ sudo tail -f /var/log/syslog

Затем перезапуск NetworkManager:

$ service NetworkManager restart

Я также удостоверился бы, что Ядро Linux обнаружило устройство WI-FI правильно путем рассмотрения dmesg журнал:

$ dmesg
3
21.02.2015, 22:02
1 ответ

Если вы знаете пути файлов, которые загружаете (например, если вы поместили их все в одну директорию), то вы можете проверить, открыты ли эти файлы еще.

lsof ~/Downloads

Вы можете получить уведомление о том, что Chrome закончил их запись (при условии, что Linux:

inotifywait -e close_write ~/Downloads

Если вы хотите перечислить все ожидающие загрузки (или готовые файлы), неуклюжий способ - это получить доступ к базе данных Chrome. Так как Chrome держит базу данных заблокированной, вы не можете получить к ней прямой доступ (по крайней мере, не с помощью утилиты командной строки sqlite3), вам нужно сделать копию файла, и есть небольшой шанс, что вы получите непоследовательное представление, так что это не совсем надежно, но должно быть достаточно хорошо для случайного использования.

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

Лучшим подходом, вероятно, будет заставить Chrome уведомить вас о завершении загрузки. Расширение Download Notifier делает это, но оно имеет дополнительные побочные эффекты и дает уведомление на рабочем столе, а не то, что можно легко использовать из командной строки. Ключевая часть кода выглядит так:

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;
            …
        }
    }
});

... нужно будет заполнить методом общения с внешним миром (может быть, создать файл где-нибудь в каталоге расширения), что выходит за рамки моих знаний по программированию с расширениями Chrome.

4
27.01.2020, 21:19

Теги

Похожие вопросы