`
kavy
  • 浏览: 872802 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

linux重定向及nohup不输出的方法

 
阅读更多

先说一下linux重定向:
0、1和2分别表示标准输入、标准输出和标准错误信息输出,可以用来指定需要重定向的标准输入或输出。
在一般使用时,默认的是标准输出,既1.当我们需要特殊用途时,可以使用其他标号。例如,将某个程序的错误信息输出到log文件中:./program 2>log。这样标准输出还是在屏幕上,但是错误信息会输出到log文件中。
另外,也可以实现0,1,2之间的重定向。2>&1:将错误信息重定向到标准输出。
Linux下还有一个特殊的文件/dev/null,它就像一个无底洞,所有重定向到它的信息都会消失得无影无踪。这一点非常有用,当我们不需要回显程序的所有信息时,就可以将输出重定向到/dev/null。

如果想要正常输出和错误信息都不显示,则要把标准输出和标准错误都重定向到/dev/null, 例如:

# ls 1>/dev/null 2>/dev/null

还有一种做法是将错误重定向到标准输出,然后再重定向到 /dev/null,例如:

# ls >/dev/null 2>&1

注意:此处的顺序不能更改,否则达不到想要的效果,此时先将标准输出重定向到 /dev/null,然后将标准错误重定向到标准输出,由于标准输出已经重定向到了/dev/null,因此标准错误也会重定向到/dev/null,于是一切静悄悄:-)

 

由于使用nohup时,会自动将输出写入nohup.out文件中,如果文件很大的话,nohup.out就会不停的增大,这是我们不希望看到的,因此,可以利用/dev/null来解决这个问题。

nohup ./program >/dev/null 2>log &

如果错误信息也不想要的话:

nohup ./program >/dev/null 2>&1 &

分享到:
评论

相关推荐

    linux下nohup日志输出过大问题的解决方法

    Linux 是一个功能强大且广泛使用的操作系统,nohup 命令是 Linux 中的一个常用命令,用于在后台运行程序并将输出重定向到文件中。但是在使用 nohup 命令时,经常会遇到日志输出文件过大的问题,导致日志文件变得非常...

    详解linux下nohup日志输出过大问题解决方案

    如果不指定重定向,日志默认会被输出到当前目录下的`nohup.out`文件中。例如,`nohup ./execute.sh &`会启动`execute.sh`脚本并在后台运行,日志输出到`nohup.out`。 为了控制日志大小,我们可以使用重定向功能。...

    nohup使用方法LINUX|CENTOS

    nohup 命令是一个常用于 Linux 和 CentOS 操作系统中的命令,它可以使得程序在后台运行,不受终端的影响。下面是 nohup 命令的使用方法和参数解释: nohup 命令的基本语法 nohup 命令的基本语法是:nohup command...

    [Ubuntu.Linux.基础视频教程].4.4.Shell.输入输出重定向

    了解了这些基础知识后,我们还可以结合使用I/O重定向,实现更复杂的操作,如重定向错误输出到特定文件,或者使用`nohup`命令在后台运行程序并重定向输出,使其即使在用户退出登录后仍能继续运行。 在实际工作中,...

    Linux nohup命令原理及实例解析

    nohup命令 在应用Unix/Linux时,我们一般想让某个程序在后台运行,于是我们将常会用 & 在程序结尾来让程序自动运行。比如我们要运行mysql在后台: /usr/local/...如果当前目录的 nohup.out 文件不可写,输出重定向

    Linux中nohup与&的用法和区别详解

    2. `nohup`的输出默认重定向到`nohup.out`,`&`的输出仍在终端,除非另有重定向设置。 3. 对于信号处理,`nohup`让程序免疫SIGHUP,而`&`的程序会受SIGHUP影响。 4. `nohup`与`&`一起使用时,程序既不受SIGHUP影响,...

    linux &、nohup与Systemctl的使用

    当使用`nohup command`启动程序时,程序的输出会被重定向到`nohup.out`文件,而不是终端,而且它对`SIGHUP`(挂断信号)免疫,所以不会因为终端关闭而停止。但是,`nohup`并不免疫`SIGINT`(中断信号),即`Ctrl+C`...

    linux nohup及tail-f用法

    运行`nohup`命令后,其输出信息默认会被重定向到`nohup.out`文件中,如果想指定其他输出文件,可以这样操作: ```bash nohup command > custom_output_file 2>&1 & ``` 这会将标准输出和标准错误都重定向到`custom_...

    浅析Linux中使用nohup及screen运行后台任务的示例和区别

    默认情况下,`nohup`会将标准输出重定向到`nohup.out`文件,如果该文件不可写,则会写入用户的主目录下。你可以通过`nohup command > /path/to/output.log 2>&1 &`来指定自定义的日志文件,这样命令的输出(包括标准...

    linux后台执行命令&和nohup的具体使用方法

    默认情况下,`nohup` 会将输出重定向到 `nohup.out` 文件,但你也可以自定义输出文件: ```bash nohup command > myout.file 2>&1 & ``` 使用 `nohup` 时,确保使用 `exit` 正常退出登录,以确保命令持续在后台...

    Linux 运行jar包的几种方式

    第四种方法,结合标准输出和错误输出重定向,如`nohup java -jar spring-boot-demo.jar > springboot.log 2>&1 &`,这将把程序的标准输出(1)和标准错误(2)都重定向到`springboot.log`文件。`2>&1`表示将标准错误...

    Linux技巧:让进程后台运行

    nohup 的使用是十分方便的,只需在要处理的命令前加上 nohup 即可,标准输出和标准错误缺省会被重定向到 nohup.out 文件中。一般我们可在结尾加上 "&" 来将命令同时放入后台运行,也可用">filename 2>&1" 来更改缺省...

    Linux nohup实现后台运行程序及查看(nohup与&)

    4. **nohup输出** 当使用 `nohup` 时,程序的标准输出和标准错误会被重定向到一个名为 `nohup.out` 的文件中,除非另有指定。这有助于在程序运行时记录日志,尤其是在无人值守的情况下。 5. **停止后台运行的程序*...

    linux后台运行m(matlab)文件

    本文介绍了如何在 Linux 系统中后台运行 MATLAB 文件,包括使用 nohup 命令和 Terminal 运行 MATLAB 文件两种方法。同时,强调了环境变量设置的重要性。后台运行 MATLAB 文件可以提高系统资源利用率和工作效率。

    Linux运行jar包执行文件

    在Linux中,我们通常希望程序能在后台运行,不阻塞终端,这时可以使用`nohup`命令或者`&`符号来实现。例如: ```bash nohup java -jar 文件名.jar & ``` `nohup`命令使得程序在用户退出终端后仍能继续运行,而`&`则...

    linux后台运行的几种方式(小结)

    如果当前目录的 nohup.out 文件不可写,输出重定向到$HOME/nohup.out文件中。 如果没有文件能创建或打开以用于追加,那么 command 参数指定的命令不可调用。 如果标准错误是一个终端,那么把指定的命令写给标准错误...

    Linux后台运行py服务程序1

    例如,`nohup python /data/python/server.py > python.log 2>&1 &`这个命令不仅将标准输出重定向到`python.log`,还把标准错误(STDERR)也重定向到同一个文件。这里的`2>&1`表示将标准错误的文件描述符(2)重定向...

    Linux 系统命令及 Shell 脚本实践指南

    4. 输入输出重定向:`>`用于输出重定向,`用于输入重定向,`>>`追加输出,`2>`错误输出重定向。 5. 函数:定义函数`function fun(){...}`,并在脚本中调用。 6. 流程控制:`&&`和`||`实现逻辑与和逻辑或,`;`用于...

Global site tag (gtag.js) - Google Analytics