使用nohup将stdout重定向到文件不起作用

迈克尔·吉尔(Michael Gierer)

我正在尝试在后台运行C程序。我也想保存程序的stdout-outputs。

但是,如果我尝试以下操作,则nohup仅将stderr-outputs重定向到logfile.txt:

nohup ./GetTempValues 11 4 > logfile.txt 2>&1 &

其中11和4是我需要传递给程序的参数,最后一个&是用于在后台运行程序的参数(GetTempValues是我的程序)。

詹姆士·洛顿(James K.Lowden)

正如Guido在上面指出的那样,除非您将标准错误重定向到文件,否则nohup已经为您重定向了标准错误。如果您使用的是Linux,在nohup下运行一个简单命令并查看dup2(2)之前的调用可能会很有帮助execve(2)

我怀疑您在看自己在看的东西。让我们想一想当你说

nohup foo 2>&1
  1. Shell将stderr重定向到stdout。
  2. 然后它调用nohup,它继承了这种情况(stderr和stdout使用相同的文件描述符)。
  3. nohup打开nohup.out(文件描述符3),将其复制到文件描述符1,然后关闭3。
  4. nohup注意到stderr不是文件,并且也将文件描述符1复制为2。因此,文件描述符1和2都引用nohup.out
  5. nohupexec使用命令行中提供的任何参数(在这种情况下为foo)进行调用新进程继承了nohup为其设置的文件描述符

如您所说,您无法在命令行中创建nohup仅重定向stderr-outputs的情况nohup始终将stdout和stderr写入文件。stdout要么是通过重定向指定的,要么是nohup.out除非您将stdout显式重定向到另一个文件,否则stderr将遵循stdout。

2>&1nohup一起使用的一个特殊方面是GNU的版本在stderr nohup上产生了一条毫无意义的消息:忽略输入并将输出附加到'nohup.out'(还有哪个实用程序会向标准错误写一条消息,相当于按照说明按照说明行事?)。通常情况下,噪声会写入终端。在重定向下,它作为输出文件的第一行结束。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将stdout重定向到文件时,正向子进程stdout不起作用

来自分类Dev

将stdout重定向到文件时,正向子进程stdout不起作用

来自分类Dev

使用系统命令将stdout和stderr输出重定向到文件在perl中不起作用

来自分类Dev

使用系统命令将stdout和stderr输出重定向到文件在perl中不起作用

来自分类Dev

如果stdout是文件,则stdout重定向不起作用

来自分类Dev

使用setOutputStream将JSch exec通道的输出流重定向到文件不起作用

来自分类Dev

使用systemd将日志重定向到文件不起作用

来自分类Dev

如果将输出重定向到stdout,为什么Bash陷阱不起作用?

来自分类Dev

StdOut重定向不起作用

来自分类Dev

在Swift中将NSLog重定向到文件不起作用

来自分类Dev

将输出重定向到文本文件在批处理中不起作用

来自分类Dev

为什么将容器标准输出重定向到文件不起作用?

来自分类Dev

从 crontab 执行时,输出重定向到脚本中使用的文件不起作用

来自分类Dev

如何将nohup stdout重定向到stdin

来自分类Dev

将 nohup 重定向到脚本上的 stdout

来自分类Dev

将stdout重定向到文件时使用GNU超时

来自分类Dev

将输出从文件重定向到stdout

来自分类Dev

重定向文件不起作用PHP

来自分类Dev

使用htaccess重定向不起作用

来自分类Dev

使用php重定向不起作用

来自分类Dev

使用 .htaccess 重定向不起作用

来自分类Dev

将stdout和stderr重定向到文件,并将stderr重定向到stdout

来自分类Dev

将stdout和stderr重定向到文件,并将stderr重定向到stdout

来自分类Dev

nginx重定向到同级文件夹并服务php不起作用

来自分类Dev

通过表单操作重定向到.php文件不起作用(初学者Questio ..)

来自分类Dev

通过表单操作重定向到.php文件不起作用(初学者Questio ..)

来自分类Dev

.htaccess将非www重定向到www,但一个目录不起作用

来自分类Dev

将函数输出重定向到printf语句在bash中似乎不起作用

来自分类Dev

将/page.html重定向到/ page在子目录中不起作用

Related 相关文章

  1. 1

    将stdout重定向到文件时,正向子进程stdout不起作用

  2. 2

    将stdout重定向到文件时,正向子进程stdout不起作用

  3. 3

    使用系统命令将stdout和stderr输出重定向到文件在perl中不起作用

  4. 4

    使用系统命令将stdout和stderr输出重定向到文件在perl中不起作用

  5. 5

    如果stdout是文件,则stdout重定向不起作用

  6. 6

    使用setOutputStream将JSch exec通道的输出流重定向到文件不起作用

  7. 7

    使用systemd将日志重定向到文件不起作用

  8. 8

    如果将输出重定向到stdout,为什么Bash陷阱不起作用?

  9. 9

    StdOut重定向不起作用

  10. 10

    在Swift中将NSLog重定向到文件不起作用

  11. 11

    将输出重定向到文本文件在批处理中不起作用

  12. 12

    为什么将容器标准输出重定向到文件不起作用?

  13. 13

    从 crontab 执行时,输出重定向到脚本中使用的文件不起作用

  14. 14

    如何将nohup stdout重定向到stdin

  15. 15

    将 nohup 重定向到脚本上的 stdout

  16. 16

    将stdout重定向到文件时使用GNU超时

  17. 17

    将输出从文件重定向到stdout

  18. 18

    重定向文件不起作用PHP

  19. 19

    使用htaccess重定向不起作用

  20. 20

    使用php重定向不起作用

  21. 21

    使用 .htaccess 重定向不起作用

  22. 22

    将stdout和stderr重定向到文件,并将stderr重定向到stdout

  23. 23

    将stdout和stderr重定向到文件,并将stderr重定向到stdout

  24. 24

    nginx重定向到同级文件夹并服务php不起作用

  25. 25

    通过表单操作重定向到.php文件不起作用(初学者Questio ..)

  26. 26

    通过表单操作重定向到.php文件不起作用(初学者Questio ..)

  27. 27

    .htaccess将非www重定向到www,但一个目录不起作用

  28. 28

    将函数输出重定向到printf语句在bash中似乎不起作用

  29. 29

    将/page.html重定向到/ page在子目录中不起作用

热门标签

归档