linux中,nohup ... &,改变输出目录

07-10 1791阅读

在Linux中,使用nohup命令结合&来在后台运行java -jar xxx.jar命令时,实际上每个nohup命令都会将其标准输出(stdout)和标准错误输出(stderr)重定向到一个名为nohup.out的文件中,除非你明确指定了不同的输出文件。因此,如果你在同一个目录下执行两个或更多类似的命令,而没有为它们指定不同的输出文件,那么这些命令的输出会写入到同一个nohup.out文件中,这可能会导致输出内容的混淆。

linux中,nohup ... &,改变输出目录
(图片来源网络,侵删)

例如,如果你执行以下两个命令:

nohup java -jar app1.jar &
nohup java -jar app2.jar &

默认情况下,这两个命令的输出都会写入到当前目录下的nohup.out文件中。

为了避免这种情况,你可以为每个nohup命令指定不同的输出文件。这可以通过重定向nohup命令的输出来实现。例如:

nohup java -jar app1.jar > app1.out 2>&1 &
nohup java -jar app2.jar > app2.out 2>&1 &

在这个例子中,>用于将标准输出(stdout)重定向到指定的文件(这里是app1.out和app2.out),而2>&1则用于将标准错误输出(stderr)也重定向到标准输出所指向的同一个文件中。这样,你就可以清晰地分离并管理不同应用程序的输出。

总结一下,使用nohup命令在Linux中运行多个Java应用程序时,如果不指定不同的输出文件,它们的输出会写入到同一个nohup.out文件中,这可能会导致冲突或混淆。为避免这种情况,最好为每个应用程序指定不同的输出文件。

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]