Как я могу создать цикл for, запускающий множество процессов?

Я хочу проверить некоторые ошибки, и для этого мне нужно иметь ситуацию, когда PID больше, чем 99999. Я имею в виду сценарий bash, цикл for. Есть идеи?

Вы можете сделать что-то подобное, чтобы начать процесс с желаемого PID.

while true; do bash -c '[[ "$$" == 99999 ]] && echo PID is 99999'; done 

Вы можете подождать, пока не получите желаемый PID и, вероятно, замените оператор echo на то, что вам действительно нужно проверить.

Рекомендации

будет ли тот же pid использоваться после убийства?

РЕДАКТИРОВАТЬ

Почему число ПИД растет? Это связано с тем, что вы запускаете другой экземпляр bash снова и снова?

Я верю, что вы сказали, что это происходит. Это можно протестировать просто так, как показано ниже.

 while true; do bash -c 'echo $$' ; done 

Мы могли видеть, что PID продолжают увеличиваться и с man-страницы bash , я вижу, что,

-c string Если присутствует опция -c, команды считываются из строки. Если после строки есть аргументы, они назначаются позиционным параметрам, начиная с $ 0.

Итак, согласно моему пониманию, каждый оператор echo в вышеприведенном тестировании запускается как отдельный процесс, поэтому мы видим, что PID получают прирост.

Что бы вы ни пытались сделать, скорее всего, лучший подход, но если вы решите что-то вроде

 while [[ 1 == 1 ]]; do sleep 10000& done 

начнет много sleeps , но для начала все это может занять некоторое время. Когда у вас будет достаточно процессов, просто нажмите Ctrl-C чтобы выйти из цикла while.