Возможное решение - использовать ps
, как вы предложили, сценарий оболочки и запланировать cron.
Сценарий оболочки должен получить текущее использование процессора процессом, сравнить его с предыдущим максимальным значением и, если оно больше, обновить файл.
#!/bin/bash
CURRENT_VALUE=`ps -p 3445 -o %cpu | sed -n '2p'`
PREVIOUS_VALUE=`sed -n '2p' max_cpu_usage_of_pid.sh.out`
if (( $(echo "$PREVIOUS_VALUE $CURRENT_VALUE" | awk '{print ($1 > $2)}') )); then
ps -p 3445 -o %cpu > max_cpu_usage_of_pid.sh.out
fi
PS: I ' Я не очень разбираюсь в сценариях bash, любые улучшения или предложения приветствуются :)
Вопрос немного устарел, но у меня была та же проблема, и я наконец нашел решение. Я также использую Linux Mint версии 19.
В домашней папке Viber создает базу данных настроек, ~/.ViberPC/config.db -это просто база данных SQLite3. Я использовал SQLiteStudio для редактирования.
Существует таблица DefaultSettings, которая по умолчанию пуста. Я добавил строку. Идентификатор ограничен внешним ключом, который в основном представляет собой номер телефона, который вы зарегистрировали в Viber с помощью (, вы можете получить его из таблицы «Учетные записи» ). CodecID, вероятно, будет равен 0, вы можете получить его из таблицы VideoCodecPreferences. UnmuteSpeakers и AutoAcceptVideo равны 1 или 0, как вам больше нравится. InputVolumeLevel — это тот, который беспокоит вас с вашим микрофоном -, вам придется поэкспериментировать, чтобы найти здесь удобный уровень, я начал примерно с 50 и работал оттуда. OutputVolumeLevel аналогичен.
Сохраните базу данных, перезапустите Viber, и все готово.