хорошо одна опция является Набором Настройки Ubuntu, другой опцией был бы Linux С нуля (вещь состоит в том, что они точно "не клонируются") (3-е редактирование моего ответа, продержитесь один): возможно, это помогает также http://answers.yahoo.com/question/index?qid=20090513192052AASI4hv
Это не отвечает на ваш вопрос,
но это решает проблему, которую вы пытаетесь решить, совершенно другим способом:
Полная команда такова (см. ниже пример вывода):
ps -o comm,%cpu,%mem --sort -%cpu -A | head -6
Я опишу ее части:
ps
, чтобы иметь больше контроля над выводом-o comm,%cpu,%mem
ps
сортируем данные внутренне -сортируем -%cpu
, по процессору, в обратном направлении. -A
| заголовок -6
Вывод аналогичен выводу вашей первой команды:
$ ps -o comm,%cpu,%mem --sort -%cpu -A | head -6
COMMAND %CPU %MEM
firefox 8.9 15.5
Xorg 1.3 5.6
parcellite 0.3 1.6
compiz 0.2 1.8
konsole 0.1 0.9
Процесс ps
перечислен в полном списке - его можно исключить на основе родительского PID.
Если мы хотим исключить процессы top
в другом месте, мы можем сделать это на основе имени команды.
Выбор -A
всех процессов будет заменен на -N ...
:
ps ... -N --ppid $$ -C top
Так как теперь нам нужно исключить процессы, мы используем -N
, чтобы выбрать все другие процессы, кроме тех, которые нам подходят.
Чтобы исключить ps
, мы используем в качестве родительского процесса текущую интерактивную оболочку, так что она будет иметь родительский pid, PPID оболочки. PID текущей оболочки равен $$
.
Так что --ppid $$
соответствует всем дочерним процессам текущей оболочки, и мы знаем, что будет только один, ps
.
Мы также хотим исключить процессы top
, которые могут работать на других дисплеях на той же машине. Мы делаем это, сопоставляя имя команды с -C top
.
Полная команда с исключением самого процесса ps
(и только это) и всех процессов top
будет:
ps -o comm,%cpu,%mem --sort -%cpu -N --ppid $$ -C top | head -6
top command | awk 'BEGIN { print header; count=5} NR>=8 { if ($0 ~ /your top regex/) next; print fields; if (--count == 0) exit}'
На каждой строке, начинающейся с #8, если она совпадает с верхней
, игнорируйте ее.
В противном случае, распечатайте ту часть, которая вам нужна.
В пятый раз, когда вы печатаете строку (которая не совпадает с top
), выйдите.