cat /proc/`ps -ef|grep andlink_router | grep -v grep | awk '{print $2}'`/status | grep -E 'VmRSS|VmHWM' ps: unrecognized option: e BusyBox v1.25.1 () multi-call binary. Usage: ps Show list of processes w Wide output cat: can't open '/proc//status': No such file or directory,这种报错怎么解决
时间: 2024-03-26 20:39:26 浏览: 13
这种报错通常是由于您的命令中使用了一些特定于Linux系统的功能,而您正在尝试在不支持这些功能的系统上运行该命令。根据您的报错信息,我猜测您正在尝试在一个 BusyBox 系统上运行该命令,而该命令的参数可能不被 BusyBox 所支持。
要解决这个问题,您可以尝试使用 BusyBox 支持的 ps 命令来代替原始的 ps 命令。具体来说,您可以尝试以下命令:
```
busybox ps -w | grep andlink_router | grep -v grep | awk '{print $1}'
```
这将使用 BusyBox 的 ps 命令来查找包含 "andlink_router" 字符串的进程,并使用 awk 命令提取进程 ID。然后,您可以将其用于您的原始命令,如下所示:
```
cat /proc/$(busybox ps -w | grep andlink_router | grep -v grep | awk '{print $1}')/status | grep -E 'VmRSS|VmHWM'
```
这应该可以正常工作,并提供您所需的输出。
相关问题
env_partition=`cat /proc/mtd | grep u-boot-env | awk -F ':' '{print $1}'` boot=`cat /dev/$env_partition | grep bootversion | awk -F '=' '{print $2}'` 上述代码什么是意思
这段代码是用来获取硬件设备(如路由器)上的引导程序(bootloader)版本号的。
首先,这段代码通过读取 `/proc/mtd` 文件来获取 MTD(Memory Technology Devices)分区信息,然后使用 `grep` 命令找到包含 `u-boot-env` 字符串的行,并使用 `awk` 命令提取出对应分区的名称(即 `/dev/mtdX`)。
接下来,代码使用 `cat` 命令读取对应分区的内容,并使用 `grep` 和 `awk` 命令来提取出引导程序版本号(即 `bootversion` 的值)。最终,这个版本号被存储在 `boot` 变量中。
总之,这段代码的作用是获取硬件设备上的引导程序版本号。
grep MemTotal /proc/meminfo | awk '{print $2}' 单位是什么
`grep MemTotal /proc/meminfo | awk '{print $2}'` 命令用于获取 `/proc/meminfo` 文件中的内存总量信息。
在 Linux 中,`/proc/meminfo` 文件中列出了系统中各种不同类型的内存使用情况。其中 `MemTotal` 行显示了系统中总共可用的内存大小,单位为 `kB`。
上述命令使用 `grep` 命令查找文件中包含 `MemTotal` 字符串的行,然后使用 `awk` 命令打印这一行的第二个字段,即内存总量的数值。因此,该命令输出的数值的单位为 `kB`。