Использовать pkill -U UID
или pkill -u UID
или имя пользователя вместо UID. Иногда skill -u USERNAME
может работать, другой инструмент killall -u USERNAME
.
Навык был определенным для Linux и теперь устарел, и pkill является более портативным (Linux, Солярис, BSD).
pkill позволяют и numberic и символьный UIDs, эффективный и реальный http://man7.org/linux/man-pages/man1/pkill.1.html
pkill-... предупредите о процессах на основе имени и других атрибутов
-u, --euid euid,... Only match processes whose effective user ID is listed. Either the numerical or symbolical value may be used. -U, --uid uid,... Only match processes whose real user ID is listed. Either the numerical or symbolical value may be used.
В странице справочника навыка говорится, это, позволил только использовать имя пользователя, не идентификатор пользователя: http://man7.org/linux/man-pages/man1/skill.1.html
навык, snice... Эти инструменты являются устаревшими и непортативными. Синтаксис команды плохо определяется. Рассмотрите использование killall, pkill
-u, --user user The next expression is a username.
killall не отмечен как устаревший в Linux, но он также не будет работать с numberic UID; только имя пользователя: http://man7.org/linux/man-pages/man1/killall.1.html
killall - уничтожьте процессы по имени
-u, --user Kill only processes the specified user owns. Command names are optional.
Я думаю, любая утилита, используемая, чтобы найти, что процесс в Linux/Солярисе разрабатывает/proc (procfs), будет использовать полный список процессов (выполнение некоторого readdir /proc
). Я думаю, они выполнят итерации /proc
цифровые подпапки и проверка каждый найденный процесс для соответствия.
Для получения списка пользователей использовать getpwent
(это получит одного пользователя на вызов).
навык (procps и procps-ng) и killall (psmisc) инструменты оба использования getpwnam
вызов библиотеки для парсинга аргумента -u
опция и только имя пользователя будут проанализированы. pkill
(procps и procps-ng), использует и атолл и getpwnam для парсинга -u
/-U
аргумент и позволяет и числовой и текстовый пользовательский спецификатор.
Irix / Режим Соляриса (man 1 top
):
<I> :Irix/Solaris_Mode_toggle
When operating in 'Solaris mode' ('I' toggled Off), a
task's cpu usage will be divided by the total number of
CPUs. After issuing this command, you'll be informed of
the new state of this toggle.
...
if 'Irix mode' is Off, top will operate in
'Solaris mode' where a task's cpu usage will be divided by the
total number of CPUs. You toggle 'Irix/Solaris' modes with the
'I' interactive command
Позвольте говорят N
общее количество центральных процессоров. Затем В Irix
режим, %CPU
использование ЦП из N * 100%
. В Solaris
режим,%CPU
%CPU in Irix mode
/ N
.
См.: Comprehending 'top' CPU usage
Править:
общее пользовательское процессорное время составляет 43%
Я думаю, что Вы проигнорировали %system (Процент загрузки ЦП для выполнения в системе (ядро) уровень.) время. Попробуйте другие инструменты как mpstat
,iostat
и sar
для анализа загрузки ЦП.