Команда ps в убунту
Может кто-нибудь описать, где команда консоли ps в linux получает список процессов? Кажется, что каждый раз, когда я запускаю ps, возникают только процессы bash и ps. Существуют ли другие команды, которые могли бы дать мне лучший список процессов, чтобы я мог "управлять задачами" (извините, заимствуя термин Windows) из консоли? Если это что-то меняет, я использую ubuntu 10.04 ---update--- Спасибо за ответы, теперь мне интересно узнать разницу между этими различными командами ps. ps axwww кажется наиболее полным, но ps aux, кажется, дает больше полезных данных (загрузка процессора и памяти)
7 ответов
ps -aef
чтобы получить более полный список.
ps axwww
тоже работает отлично.
Я не знаю точно, где 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 aux когда-нибудь. Или, если у вас установлен kde, вы можете использовать ksysguard. Или системный монитор гномов.
ps извлекает информацию из файловой системы proc (/proc
).
Что вас смущает, так это то, что по умолчанию ps показывает только текущий процесс и его дочерние элементы.
Так что вы бежите ps
в bash это только bash и ps.
использование ps -e
или же ps -A
показать все процессы в системе.
-e Select all processes. Identical to -A.
И обязательно прочитайте man ps
для всех других полезных опций.
Чтобы управлять процессами, а не просто отображать их, взгляните сверху (установлен по умолчанию в Ubuntu), поверх или htop (оба по умолчанию не установлены в Ubuntu).
Especially for top reading the man page is necessary for everything but the most basic usage.
Я всегда предпочитаю команду "ps fx", но в зависимости от ваших требований может быть множество вариантов. Например, "ps aux", "ps efx", "ps -ely"