gpt4 book ai didi

c++ - 有没有办法恢复/恢复 nohup 以在控制台中查看输出?

转载 作者:IT王子 更新时间:2023-10-29 00:20:38 24 4
gpt4 key购买 nike

我知道机会极低,但有没有办法查看 nohup-ed 进程最近输出了什么?

我仍然打开这个进程,但我运行它时将所有输出重定向到/dev/null。

那么有没有办法将这样的过程恢复到控制台,或者它是没有希望的:(

干杯

最佳答案

有一种方法,但不是直截了当的,诀窍是使用 dup2 并取决于您的程序链接到 libc 的事实(所有 c/c++ 应用程序都是,但 java 应用程序不会例如)

  1. 使用 gdb 附加到您的进程
  2. 在 gdb 提示符下运行以下命令将标准输出重定向到/tmp/newfile

    $ print dup2(open("/tmp/newfile",0), 1)

  3. 运行以下命令将 stderr 重定向到/tmp/newfile

    $ print dup2(open("/tmp/newfile",0), 2)

  4. 从您的进程中分离 gdb 并完成

什么 dup2确实是

duplicate a file descriptor This means that both stdout/stderr (1 and 2) and the new file descriptor returned from open can be used interchangeable which will cause all output going to stdout and stderr to go to the file you opened.

关于c++ - 有没有办法恢复/恢复 nohup 以在控制台中查看输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4265899/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com