out.log 2>&1 &用法含义
时间: 2023-11-25 08:49:56 浏览: 79
`out.log 2>&1 &`是Linux中的一种重定向和后台运行命令的组合用法。其中,`>`表示将标准输出重定向到指定文件,`2>&1`表示将标准错误输出重定向到标准输出,`&`表示将命令放入后台运行。
具体来说,`out.log`表示将标准输出重定向到`out.log`文件中,`2>&1`表示将标准错误输出重定向到与标准输出相同的位置,也就是`out.log`文件中,最后的`&`表示将命令放入后台运行,即在命令执行的同时,可以继续输入其他命令。
举个例子,如果我们要在后台运行一个名为`test.sh`的脚本,并将标准输出和标准错误输出都重定向到`log.txt`文件中,可以使用以下命令:
```shell
./test.sh > log.txt 2>&1 &
```
这样,`test.sh`脚本就会在后台运行,并将标准输出和标准错误输出都重定向到`log.txt`文件中。
相关问题
在windows服务器上怎么运行命令nohup java -Xms2048m -Xmx2048m -jar xxx.jar > ./out.log 2>&1 &?
在 Windows 服务器上,没有 `nohup` 命令,但可以使用其他方式来实现类似的效果。
一种常见的方法是使用 `start` 命令和 `javaw` 命令来在后台运行 Java 应用程序。以下是在 Windows 上运行类似命令的示例:
```
start javaw -Xms2048m -Xmx2048m -jar xxx.jar > out.log 2>&1
```
解析这个命令的具含义如下:
- `start`:用于启动一个新的窗口来运行命令。
- `javaw`:与 `java` 类似,但在后台运行,无需控制台窗口。
- `-Xms2048m -Xmx2048m`:设置 Java 虚拟机的初始堆大小和最大堆大小。
- `-jar xxx.jar`:指定要运行的 JAR 文件。
- `> out.log 2>&1`:将标准输出和错误输出重定向到 out.log 文件中。
执行此命令后,Java 应用程序将以指定的堆大小在后台运行,并将标准输出和错误输出写入 out.log 文件中。
请注意,Windows 和 Linux 的命令行语法有所不同,所以在不同操作系统上需要使用不同的命令来实现相同的功能。
nohup ./test & 如何让他不生成nohup.out 文件
如果你不想在使用 `nohup ./test &` 命令时生成 `nohup.out` 文件,可以使用重定向来将标准输出和标准错误输出重定向到其他文件,或者将其丢弃。
以下是两种方法:
1. 重定向到其他文件:
```shell
nohup ./test > output.log 2>&1 &
```
这将把标准输出和标准错误输出重定向到 `output.log` 文件中。
2. 丢弃输出:
```shell
nohup ./test > /dev/null 2>&1 &
```
这将把标准输出和标准错误输出都丢弃,不会写入任何文件。
这样做可以避免生成 `nohup.out` 文件,但也意味着你将失去了对程序输出的可见性。如果你需要查看程序的输出日志,建议将其重定向到其他文件中以便后续查看。