Цикл сценария Bash с нулевым заполнением для чисел

Планировщику все равно, почему процесс в данный момент не запускается.

Состояние S используется всякий раз, когда процесс вызвал системный вызов, который требует завершения внешнего события; на этом этапе не имеет значения, вызвал ли сам системный вызов внешнее событие (например, вызов read ), или он просто ждет (например, select или poll ) ).

Вы можете узнать, какой системный вызов ожидает процесс, включив столбец WCHAN в вверху .

Состояние D в наши дни становится немного редкостью, оно обычно использовалось, если текущий системный вызов нельзя было легко остановить без потенциального повреждения данных. Печально известным примером был клиент NFS, который переходил в состояние D во время каждой операции с файлом, потому что нет способа прервать запрос, который мог или не мог быть получен сервером. При более агрессивном кэшировании слой кеша теперь будет видеть запрос, в то время как пользовательский процесс делает что-то еще.

0
26.03.2018, 10:55
2 ответа

Вы можете использовать внутри for-loop, как показано ниже:

for i in {0001..9999}; do
    grep -q 'specificString' <<<"$(nc localhost $i)" && \
    echo "found on $i" || echo "not found on $i";
done
4
28.01.2020, 02:18

Для оболочек, которые не поддерживают раскрытие фигурных скобок или не сохраняют заполнение нулями:

i=0
while [ "$i" -le 9999 ]; do
    printf '%04d\n' "$i"
    i=$(( i + 1 ))
done | nc...other options... | grep...etc...
1
28.01.2020, 02:18

Теги

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