...
я проверил и с пользователем mine всё хорошо
С пользователем mine всё плохо, потому что для него не работает фильтрация по имени пользователя grep -i `who`
Смотрим внимательно на пример в предыдущем комменте. Процесс там запущен пользоваталем zeka, но grep -i mine выберет эту строку по слову minecraft. И в итоге для пользователя mine может быть найден PID процесса, запущенного zeka.
А из-за
grep -v grep PID процесса майнкрафта для пользователя greppy никогда не будет определён.
А допустим у вас есть пользователь minecraftguru и вы таки заставили ps выводить имя пользователя полностью независимо от длины. Ваша команда выдаст PID всех его процессов, запущенных под screen, а не только процесса майнкрафта.
Короче не делайте ps|grep в скриптах никогда, не разводите энтропию.