`

nohup命令详解

 
阅读更多
nohup命令及其输出文件
     nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。nohup就是不挂起的意思( n ohang up)。
一般都是在linux下nohup格式:
nohup command
或者
nohup command &
这之间的差别是带&的命令行,即使terminal(终端)关闭,或者电脑死机程序依然运行(前提是你把程序递交到服务器上);
它把标准输出(STDOUT)和标准错误(STDERR)结果输出到nohup.txt文件这个看似很方便,但是当输出很大的时候,nohup.txt文件会非常大,或者多个后台命令的时候大家都会输出到nohup.txt文件,不利于查找结果和调试程序。
所以能够重定向输出会非常方便。下面要介绍标准输出,标准输入 和标准错误了。
其实我们一直都在用,只是没有注意到,
比如
>./command.sh > output
#这其中的>就是标准输出符号,其实是 1>output 的缩写
>./command.sh 2> output
#这里的2>就是将标准错误输出到output文件里。
而0< 则是标准输入了。
下面步入正题,重定向后台命令
>nohup ./command.sh > output 2>&1 &
解释:前面的nohup 和后面的&我想大家都能明白了把。
主要是中间的 2>&1的意思
这个意思是把标准错误(2)重定向到标准输出中(1),而标准输出又导入文件output里面,
所以结果是标准错误和标准输出都导入文件output里面了。
至于为什么需要将标准错误重定向到标准输出的原因,那就归结为标准错误没有缓冲区,而stdout有。
这就会导致 >output 2>output 文件output被两次打开,而stdout和stderr将会竞争覆盖,这肯定不是我门想要的.
这就是为什么有人会写成:
nohup ./command.sh >output 2>output出错的原因了
##########################
最后谈一下/dev/null文件的作用
这是一个无底洞,任何东西都可以定向到这里,但是却无法打开。
所以一般很大的stdou和stderr当你不关心的时候可以利用stdout和stderr定向到这里>./command.sh >/dev/null 2>&1
分享到:
评论

相关推荐

    nohup命令详解.txt

    linux nohup 命令详解 自己留用

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

    主要介绍了详解linux下nohup日志输出过大问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    详解nohup /dev/null 2&1 含义的使用

    nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。nohup就是不挂起的意思( n ohang up)。 该命令的...

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

    主要给大家介绍了关于Linux中nohup与&的用法和区别的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用Linux具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

    Linux系统命令及其使用详解(完美版)

    运维工程师必会的109个Linux命令,分为 [1].文件管理 cat cd chmod.. [2].磁盘管理 dd df du.. [3].压缩管理bzip2 cpio split.. [4].进程管理 crontab kill ps nohup.. [5].网络管理 finger ftp netstat.. [6].系统...

    20200216毕设日记

    从今天开始学习pytorch,在论文进度更新的同时也更新pytorch的学习过程。...为了让程序能够在后台良好的运行,可以使用这个命令,nohup命令,具体可以参考这里:https://www.jb51.net/article/1698

    详解linux后台运行和关闭、查看后台任务

    fg、bg、jobs、&、nohup、ctrl+z、ctrl+c 命令 一、& 加在一个命令的最后,可以把这个命令放到后台执行,如 watch -n 10 sh test.sh & #每10s在后台执行一次test.sh脚本 二、ctrl + z 可以将一个正在前台执行的...

    详解linux tail命令显示最后n行

    tail :输出文件的最后几行。 用于linux查看日志的时候很方便,假如日志文件为:Console.log 用法: 1. tail Console.log 输出文件最后10行的内容 2. tail -nf Console.log –n为最后n行 ...输出文件最后n行的内容,...

    linux命令之调试工具strace的深入分析

    参考1《linux的strace命令(详解).txt》 新浪电子书可下载2man strace一个基本上通用的 完整的用法:strace -o output.txt -T -tt -e trace=all -p 28979上面的含义是 跟踪28979进程的所有系统调用(-e trace=all),...

    PHP守护进程的两种常见实现方式详解

    在命令后面加上 & 符号, 可以让启动的进程转到后台运行,而不占用控制台,控制台还可以再运行其他命令,这里我使用一个while死循环来做演示,代码如下 &lt;?php while(true){ echo time().PHP_EOL; sleep(3); } ...

Global site tag (gtag.js) - Google Analytics