Как я могу получить процесс с самым большим pid?

Как я могу получить процесс с самым большим pid, используя ps ?

Это не использует ps , но синтаксический анализ ps , вероятно, будет затруднен (не говоря уже о непереносимости). Это должно быть проще (и, по крайней мере, немного более портативно):

 ( cd /proc; printf "%s\n" *; ) | sort -n | tail -n 1 

Это ищет каталог с наивысшим номером внутри / proc, который работает, потому что во многих системах Unix есть один каталог / proc / ### на pid, содержащий информацию об этом процессе.

 ps -eo pid= | sort -rn | head -n 1 

будет POSIX.

В Linux идентификаторы процессов используют те же пространства имен, что и идентификаторы потоков. Там вы можете:

 ps -Leo tid= | sort -rn | head -n 1 

Чтобы получить наивысший поток или номер идентификатора процесса.

 ps [whatever options you like] $(cd /proc; ls -d [0-9]* | sort -n | tail -1)