【发布时间】:2023-02-10 22:27:08
【问题描述】:
每个人。
我目前正在用 Bash 创建一个小脚本。
我正在尝试创建一个程序,该程序将显示每次使用的所有正在运行的进程以及每个进程占用的内存量。我知道我需要使用 ps aux 命令。
基本上我希望输出看起来像这样
USER PROCESS MEMORY
ROOT Process1 10KB
Process2 120KB
USER1 Process 1 50KB
Process 4 1 KB
这是我现在的代码,我不知道如何进一步发展
#!/bin/bash
runningUsers=$( ps aux | awk '{ print $1 }' | sed '1 d' | sort | uniq | perl -e 'for (<>) { chomp; $u = ( getpwnam($_) )[2]; print $_, "\n" if ( ( $u >= 1000 || $u == 0 ) && ( $_ =~ /[[:alpha:]]/ && $_ ne "nobody" ) ) }')
echo $runningUsers
users=($runningUsers)
echo "${users[0]}"
【问题讨论】: