LINUX.ORG.RU

sh узнать количество процессов


0

0

в общем пишу на sh скрипт выводящий количество процесса, ну допустим, tty

если пишу

i=`ps a | grep tty | wc -l`

в переменную i попадает количество процессов с процессом grep tty при выполнение команды ps (т.е. получается что один процесс "лишний" при подсчёте)..

может есть какой то ключик выводящий без grep tty ?

или допустим пытаюсь выйти из ситуации следующим образом:

let j="$i-1"

на что мне выдает ошибку, ругается на let? как обойти "отсутствие типов" ? $i хранится как строка, может можно как то преобразовать к числу?

в общем помоги те кто может...

★★

>i=`ps a | grep tty | wc -l`

Используй pgrep tty или, если этой команды нет, то ps a | grep -v grep | grep -c tty (а, если grep не поддерживает опцию -c, то ps a | grep -v grep | grep tty | wc -l)

>let j="$i-1"

j=`expr $i - 1`

php-coder ★★★★★
()

Вообще-то стоит почитать info grep:

   7. Why do people use strange regular expressions on `ps' output?
 
           ps -ef | grep '[c]ron'
 
      If the pattern had been written without the square brackets, it
      would have matched not only the `ps' output line for `cron', but
      also the `ps' output line for `grep'.  Note that some platforms
      `ps' limit the ouput to the width of the screen, grep does not
      have any limit on the length of a line except the available memory.

anonymous
()

разобрался, все спасибо

f3ex ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.