Это работало на Dell Inspiron 3647, работающем на Ubuntu Studio 14.04:
. Открыл терминал (Ctrl-Alt-T). Набрал «alsamixer» в приглашении, затем нажмите Enter Hit F6, затем выберите другой карта из того, что было перечислено. Протестировал звук с видео с Burning Spear на Youtube и получил звукНадеюсь, это вам поможет.
Несколько вещей:
i всегда 1 в вашем скрипте AFAICT. Поэтому нет смысла использовать его, и это проще сделать:while true; do
...
done
Вы exec ing pkill и wine. exec заменяет текущую оболочку командой, которая должна быть выполнена, поэтому ваш скрипт эффективно заканчивается, когда он exec. Просто сделайте pkill SAMBC.exe и wine C:\\SAMBC\\SAMBC.exe. Команда wine может потребоваться отправить в фоновый режим: wine C:\\SAMBC\\SAMBC.exe &. Если вы хотите получить использование ЦП определенного процесса, проще использовать pgrep, чтобы получить PID и ps, чтобы получить только использование ЦП: process_usage=$(ps -o pcpu= $(pgrep SAMBC.exe) | sed 's/\..*//')
Команда sed удаляет конечные десятичные числа. Объединение и упрощение:
#!/bin/bash
CPU_USAGE_THRESHOLD="120"
while true; do
proc_usage=$(ps -o pcpu= $(pgrep SAMBC.exe) | sed 's/\..*//')
if (( proc_usage > CPU_USAGE_THRESHOLD )); then
pkill SAMBC.exe;
echo "process killed"
sleep 30
wine C:\\SAMBC\\SAMBC.exe &
fi
sleep 60
done
Несколько вещей:
i всегда 1 в вашем скрипте AFAICT. Поэтому нет смысла использовать его, и это проще сделать:while true; do
...
done
Вы exec ing pkill и wine. exec заменяет текущую оболочку командой, которая должна быть выполнена, поэтому ваш скрипт эффективно заканчивается, когда он exec. Просто сделайте pkill SAMBC.exe и wine C:\\SAMBC\\SAMBC.exe. Команда wine может потребоваться отправить в фоновый режим: wine C:\\SAMBC\\SAMBC.exe &. Если вы хотите получить использование ЦП определенного процесса, проще использовать pgrep, чтобы получить PID и ps, чтобы получить только использование ЦП: process_usage=$(ps -o pcpu= $(pgrep SAMBC.exe) | sed 's/\..*//')
Команда sed удаляет конечные десятичные числа. Объединение и упрощение:
#!/bin/bash
CPU_USAGE_THRESHOLD="120"
while true; do
proc_usage=$(ps -o pcpu= $(pgrep SAMBC.exe) | sed 's/\..*//')
if (( proc_usage > CPU_USAGE_THRESHOLD )); then
pkill SAMBC.exe;
echo "process killed"
sleep 30
wine C:\\SAMBC\\SAMBC.exe &
fi
sleep 60
done
Несколько вещей:
i всегда 1 в вашем скрипте AFAICT. Поэтому нет смысла использовать его, и это проще сделать:while true; do
...
done
Вы exec ing pkill и wine. exec заменяет текущую оболочку командой, которая должна быть выполнена, поэтому ваш скрипт эффективно заканчивается, когда он exec. Просто сделайте pkill SAMBC.exe и wine C:\\SAMBC\\SAMBC.exe. Команда wine может потребоваться отправить в фоновый режим: wine C:\\SAMBC\\SAMBC.exe &. Если вы хотите получить использование ЦП определенного процесса, проще использовать pgrep, чтобы получить PID и ps, чтобы получить только использование ЦП: process_usage=$(ps -o pcpu= $(pgrep SAMBC.exe) | sed 's/\..*//')
Команда sed удаляет конечные десятичные числа. Объединение и упрощение:
#!/bin/bash
CPU_USAGE_THRESHOLD="120"
while true; do
proc_usage=$(ps -o pcpu= $(pgrep SAMBC.exe) | sed 's/\..*//')
if (( proc_usage > CPU_USAGE_THRESHOLD )); then
pkill SAMBC.exe;
echo "process killed"
sleep 30
wine C:\\SAMBC\\SAMBC.exe &
fi
sleep 60
done