pid в вашем примере, который продолжает меняться, - это идентификатор процесса вашего grep, пытающийся найти PID. Это означает, что ваши ps и grep не находят фактический процесс, который вы ищете.
Попробуйте запустить свой скрипт без завершающего «& amp;», чтобы увидеть, что он делает.
Вы также можете использовать инструмент «Системный монитор» из панели инструментов, чтобы просмотреть полный список процессов с идентификаторами процесса.