Linux命令:重复多次后台运行且不保存输出,查看命令对应的进程数量

时间:2024-02-22 12:15:01

要在后台重复运行 Linux 命令并查看对应的进程数量,你可以使用循环结构和后台运行符号 `&` 结合起来。以下是一个示例:

```bash
for i in {1..3}; do
    your_command > /dev/null 2>&1 &
done
```

命令 `your_command > /dev/null 2>&1 &` 的含义如下:

1. `>` 符号表示重定向输出。在这个命令中,`your_command` 的标准输出将被重定向到 `/dev/null` 文件中。

2. `/dev/null` 是一个特殊的设备文件,它可以被用来丢弃输出。将输出重定向到 `/dev/null` 意味着命令的输出将不会显示在终端上,数据将被丢弃而不被保存。

3. `2>&1` 表示将标准错误输出(stderr)重定向到与标准输出(stdout)相同的位置。这样做可以确保错误信息也会被重定向到 `/dev/null` 文件中,因此不会在终端上显示。

4. `&` 符号表示将命令置于后台运行。这样命令将在后台运行,而不会阻塞终端,你可以继续在终端执行其他命令。

在这个示例中,`your_command` 是你想要重复运行的命令。`> /dev/null 2>&1` 部分用于将命令的标准输出和标准错误输出重定向到 `/dev/null`,即丢弃输出,从而不保存命令的输出。

通过执行上述循环,你可以将 `your_command` 命令重复运行 3 次,并且不保存输出。

要查看与该命令对应的进程数量,你可以使用 `pgrep` 命令来查找匹配进程的数量。例如,如果你的命令是 `your_command`,你可以执行以下命令:

```bash
pgrep -c your_command
```

这将返回与 `your_command` 对应的进程数量。如果返回值是 0,则表示没有匹配的进程在运行;如果返回值大于 0,则表示有匹配的进程在运行。