LINUX 标准错误输出重定向

LINUX 标准错误输出重定向,第1张

用途:不挂断地运行命令

语法:nohup Command [ Arg … ] [ &]

无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。

如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。

如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。

退出状态:该命令返回下列出口值:

126 可以查找但不能调用 Command 参数指定的命令。

127 nohup 命令发生错误或不能查找由 Command 参数指定的命令。

否则,nohup 命令的退出状态是 Command 参数指定命令的退出状态。

用途:在后台运行

一般两个一起用

3.为什么呢 2>&1 要写在后面?

首先是command >file将标准输出重定向到file中, 2>&1 是标准错误拷贝了标准输出的行为,也就是同样被重定向到file中,最终结果就是标准输出和错误都被重定向到file中。

2>&1 标准错误拷贝了标准输出的行为,但此时标准输出还是在终端。>file 后输出才被重定向到file,但标准错误仍然保持在终端。

用strace可以看到:

这个命令中实现重定向的关键系统调用序列是:

open(file) == 3

dup2(3,1)

dup2(1,2)

这个命令中实现重定向的关键系统调用序列是:

dup2(1,2)

open(file) == 3

dup2(3,1)

注意:0 是标准输入(STDIN),1 是标准输出(STDOUT),2 是标准错误输出(STDERR)。

这里的2和>之间不可以有空格,2>是一体的时候才表示错误输出。

linuxcp读取数据输入输出错误

LinuxCP是一种编程语言,它不具备读取数据输入输出的功能。如果要实现读取数据输入输出,需要使用其他编程语言,比如C/C++、Java、Python等。

导致这种结果的原因有很多种

1:可能内核出了问题,一般情况下reboot即可

2:也有可能是环境变量的值不小心修改了。如果下次再有人遇到,贴出自己的local 和export结果,还有你可以用source /etc/profile 或source /uername/.profile命令试一下

3:也有可以是根文件系统错误造成的,建议进单用户扫描下根文件系统

4:有可能也是磁盘的问题


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7456749.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存