Можно ли получить столбец PWD в верхнем выпуске?

Я знаю о pwdx , но было бы очень приятно, если бы top показал PWD: другими словами, я хочу видеть PWD и использование CPU / mem бок о бок. Кто-нибудь имеет скрипт или однострочный pwdx для объединения вывода из top / ps с pwdx с периодическим обновлением?

2 Solutions collect form web for “Можно ли получить столбец PWD в верхнем выпуске?”

Вот мое отвратительное решение:

ps --no-headers -e -o pid,%cpu,%mem,args | grep -v "ps --no-headers" > ps.txt && awk '{ print $1 }' ps.txt > pids.txt && cat pids.txt | xargs pwdx | cut -d ' ' -f 2 > pwd.txt && awk '{ print " "$1" "$2" "$3" "}' ps.txt > ps1.txt && cut -d ' ' -f 4- ps.txt > ps2.txt && paste ps1.txt pwd.txt ps2.txt

Можно ли это сделать без записи файлов? Или просто вообще менее кошмарно?

Мне удалось сделать это немного менее кошмарным:

 #!/bin/bash ps --no-headers -e -o pid,%cpu,%mem,args > ps_out.txt awk '!/--no-headers/ { print $1 }' ps_out.txt | tee pids.txt | xargs pwdx 2>/dev/null > paths.txt sed --in-place 's/://' paths.txt awk 'FILENAME=="paths.txt" {pids[$1][0]=$2} FILENAME=="ps_out.txt" { pid=$1; $1=""; $0=$0; pids[pid][1]=$0} END {for( pid in pids ) {print pid, pids[pid][1], pids[pid][0]} }' paths.txt ps_out.txt rm pids.txt paths.txt ps_out.txt 

Чтобы сделать этот скрипт awk немного читабельнее:

 FILENAME=="paths.txt" { pids[$1][0]=$2 } FILENAME=="ps_out.txt" { pid=$1; $1=""; $0=$0; pids[pid][1]=$0 } END { for( pid in pids ) { print pid, pids[pid][1], pids[pid][0] } } 
  • Почему nautilus в фоновом режиме занимает столько IO и CPU при входе в систему, и как это разрешить, или это ошибка?
  • Отображение «PRI» и «NI» через «top -stats»
  • Разве не должно быть больше RAM, чем это?
  • SSH дважды и запустить команду, экранируя символ?
  • Почему диапазон нагрузки не равен 0-1 + для всех процессоров вместе?
  • Статистика использования процессора и ядра
  • Какие процессы меняют память
  • Значение цветов в htop
  • ATOP показывает красную линию vmcom и vmlim. Что это значит?
  • Если я хочу создать графический интерфейс, который отображает точно те же данные, что и команда TOP в LINUX, откуда я получу данные?
  • htop процессорное время против верхнего процессорного времени
  • Linux и Unix - лучшая ОС в мире.