Linux nohup命令详解
2023-09-14 09:12:29 时间
nohup命令及其输出文件
nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。nohup就是不挂起的意思( n ohang up)。
一般都是在linux下nohup格式: www.2cto.com
nohup command
或者
nohup command &
这之间的差别是带&的命令行,即使terminal(终端)关闭,或者电脑死机程序依然运行(前提是你把程序递交到服务器上);
它把标准输出(STDOUT)和标准错误(STDERR)结果输出到nohup.txt文件这个看似很方便,但是当输出很大的时候,nohup.txt文件会非常大,或者多个后台命令的时候大家都会输出到nohup.txt文件,不利于查找结果和调试程序。
所以能够重定向输出会非常方便。下面要介绍标准输出,标准输入 和标准错误了。
其实我们一直都在用,只是没有注意到, www.2cto.com
比如
>./command.sh > output
#这其中的>就是标准输出符号,其实是 1>output 的缩写
>./command.sh 2> output
#这里的2>就是将标准错误输出到output文件里。
而0< 则是标准输入了。
下面步入正题,重定向后台命令
>nohup ./command.sh > output 2>&1 &
解释:前面的nohup 和后面的&我想大家都能明白了把。
主要是中间的 2>&1的意思
这个意思是把标准错误(2)重定向到标准输出中(1),而标准输出又导入文件output里面, www.2cto.com
所以结果是标准错误和标准输出都导入文件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
相关文章
- 列举出linux文件和目录常用的命令_cat -n file1file2 命令的意思是
- Linux tree命令详解程序员
- [linux] C语言Linux系统编程-做成守护进程详解编程语言
- Linux下基本操作命令小结(linux基本操作命令)
- Linux 下简单执行 Jar 包的方法(linux执行jar)
- Linux新时代:大硬盘储存无限可能(linux大硬盘)
- Linux日志详解:深入了解Linux服务器日志(linux日志详解)
- Linux恢复被rm命令删除的文件(linux撤销rm)
- 快速掌握Linux服务器搭建视频教程(linux服务器搭建视频)
- Linux内存深度解析 — 从容量概念到原理(linux内存详解)
- Linux安装之路:使用gz命令(linux安装命令gz)
- 深入Linux嵌入式开发详解PPT(linux嵌入式ppt)
- 自学Linux系统:一步一步实现你的梦想(怎么自学linux)
- 防火墙的关闭:Linux系统下的防御操作(关闭linux的防火墙)
- 深度探索Linux系统的端口(linux系统端口)
- Linux:盘点七大优势(linux选择)
- 行脚本Linux下建立命令行脚本实现自动化(linux建立命令)
- Linux下如何高效地传输文件?(linux间传输文件)
- Linux学习进阶:视频教程免费下载(linux学习视频下载)
- 安装 Linux 系统 从 U 盘启动你的电脑(linux进u盘系统)
- 命令新手上路:Linux运行SH命令指南(linux运行sh)
- 掌握Linux文件编辑:简单易懂的操作技巧(linux文件编辑)
- LINUX数据恢复命令:救回重要文件的必备技能(linux数据恢复命令)
- Linux下一键批量执行简单命令的方法(linux 批量执行命令)
- 命令Linux 下使用 ln 命令创建快捷方式(linux下ln)
- 在Linux上使用VMFS存储技术的可能性(vmfs linux)
- Linux动态库编译技术:提升开发效率(linux 编译动态库)
- Linux下如何配置用户权限(linux设置用户权限)