Linux 之 nohup命令不产生日志文件

前言

众所周知,nohup命令可以将程序以忽略挂起信号的方式运行起来,而其输出都将附加到nohup.out文件中,这便于我们查看程序的运行情况。

而当在运行自带生成日志的程序来说nohup.out又显得过于鸡肋,一方面功能重复,另一方面又占用空间,于是就该考虑是否可以不生成该文件。

正文

此处假定我要使用 nohup命令 运行一个jar文件。

一般的运行方式为  nohup java -jar xxx.jar & ,这么操作是会产生nohup.out的。

 nohup java -jar xxx.jar  1>/dev/null 2>&1 & , 这样写的话就会不产生nohup.out文件。

该命令的意思是:后台运行xxx.jar程序,将标准错误输出合并到标准输出中,随后标准输出再重定向到/dev/null文件中。

注:

/dev/null个设备文件,它的特殊之处在于,可以写入数据,但读取不到任何东西。所以我们可以理解为它把写入的数据全部丢弃了。

1表示标准输出,因为系统的缺省值为1,所以命令中的 1>/dev/null = >/dev/null。

2表示标准的错误输出,2>&1 就表示把错误输出重定向到标准输出中。      

你可能感兴趣的:(Linux)