Может кто-нибудь описать, где команда консоли ps в linux получает список процессов? Кажется, что каждый раз, когда я запускаю ps, возникают только процессы bash и ps. Существуют ли другие команды, которые могли бы дать мне лучший список процессов, чтобы я мог "управлять задачами" (извините, если заимствовать термин Windows) из консоли? Если это что-то меняет, я использую ubuntu 10.04 --- update --- Спасибо за ответы, теперь мне интересно узнать разницу между этими различными командами ps. ps axwww кажется наиболее полным, но ps aux, кажется, дает больше полезных данных (загрузка процессора и памяти)
7 ответов
Попробуй ps aux когда-нибудь. Или, если у вас установлен kde, вы можете использовать ksysguard. Или системный монитор гномов.
Я не знаю точно, где PS получает эту информацию. Это может быть из /proc /{procID} /status. Например
root@james-desktop:/# cat /proc/1/status
Name: init
State: S (sleeping)
Tgid: 1
Pid: 1
PPid: 0
TracerPid: 0
Uid: 0 0 0 0
Gid: 0 0 0 0
FDSize: 32
Groups:
VmPeak: 2800 kB
VmSize: 2796 kB
VmLck: 0 kB
VmHWM: 1640 kB
VmRSS: 1640 kB
VmData: 440 kB
VmStk: 84 kB
VmExe: 100 kB
VmLib: 2068 kB
VmPTE: 32 kB
Threads: 1
SigQ: 1/7953
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 0000000000001000
SigCgt: 00000001a0012623
CapInh: 0000000000000000
CapPrm: ffffffffffffffff
CapEff: fffffffffffffeff
CapBnd: ffffffffffffffff
Cpus_allowed: 1
Cpus_allowed_list: 0
Mems_allowed: 1
Mems_allowed_list: 0
voluntary_ctxt_switches: 739
nonvoluntary_ctxt_switches: 405
В основном я использую ps -ef
но вы можете найти более подробную информацию о том, как использовать ps, набрав man ps
. Я также использую top
который немного больше похож на версию диспетчера задач для командной строки, но он не показывает полный список процессов. Наберите man top
чтобы узнать больше об этом.
ps -aef
чтобы получить более полный список.
ps axwww
тоже отлично работает.
ps извлекает информацию из файловой системы proc (/proc
).
Что вас смущает, так это то, что по умолчанию ps показывает только текущий процесс и его дочерние элементы.
Так что если вы запускаете ps
в bash, то это только bash и ps.
Используйте ps -e
или ps -A
чтобы показать все процессы в системе.
-e Select all processes. Identical to -A.
И обязательно прочитайте man ps
для всех других полезных опций.
Чтобы управлять процессами, а не просто отображать их, взгляните сверху (установлен по умолчанию в Ubuntu), поверх или htop (оба по умолчанию не установлены в Ubuntu).
Специально для лучшего прочтения справочная страница необходима для всего, кроме самого основного использования.
взгляните на Hack 91.Примеры команд Ps.
Я всегда предпочитаю команду "ps fx", но в зависимости от ваших требований может быть множество вариантов. Как "ps aux", "ps efx" "ps -ely"