Время в опросе
не тратится зря - это время, в течение которого процесс ожидает «прибытия» входных данных или готовности буферов вывода к новым выходным данным.
Вы можете использовать lsof
для вывода списка открытых дескрипторов (включая сокеты).
Сколько ядер ЦП у вас в системе? Сколько ядер может использовать ccsm?
В вашем верхнем
листинге показано около 100% использования ЦП процессами ccsm.exe.
Мне кажется, что ваше узкое место не в вводе-выводе, а в процессоре.
В любом случае, чтобы сократить «время опроса», вам нужно ускорить ввод-вывод - например, поместив данные (базу данных?) В быструю массовую память (систему).
путь устанавливается на 1-й аргумент, переданный сценарию или функции, из которой был получен код.
(также используйте #в качестве комментария, а не -->)
В сценариях оболочки существует концепция, называемая позиционными параметрами . По сути, вы можете передать n аргументов сценарию оболочки или функции из командной строки. Затем они сохраняются в специальных переменных с именами $0
, $1
, $2
и т. д., которые затем доступны внутри сценария оболочки. Следует отметить, что переменная $0
относится к самому скрипту.
Взяв ваш скрипт за пример, вы можете запустить его следующим образом:
./myscript.bash /opt/src-code
Здесь параметр /opt/src-code
сохраняется в позиционной переменной $1
. Затем ваш сценарий переназначает это значение другой переменной с именем path
. Тогда утверждение эффективно path=/opt/src-code
.
Затем переменная path
передается команде grep
в качестве ее аргумента. Затем он определяет, где на самом деле запускать команду grep и искать совпадения с образцом. В вашем скрипте указан if
, который проверяет, возвращает ли grep
какое-либо значение.
По сути, вышеуказанные шаги сводятся к следующей команде grep
во время выполнения (, игнорирующей оператор if
):
grep -q -rHl --include \*.c --include \*.h "int main" /opt/src-code
path
— это просто переменная. Он создается путем присвоения значения из первого позиционного параметра. Затем выражение $path
заменяется тем значением, где выражение (в конце команды grep ).