我知道机会极少,但是有办法吗
看看最近正在输出什么nohup-ed过程?

我仍然打开此过程,但是我将所有输出重定向到/dev/null来运行它。

那么有没有办法将这种过程恢复回控制台,还是没有希望的:(

干杯

最佳答案

有一种方法,但并非一帆风顺,诀窍是使用dup2并取决于您的程序与libc链接的事实(所有c/c++应用程序都将链接到libc,例如,java应用程序就不会链接到libc) )

  • 使用gdb附加到您的进程
  • 在gdb提示符下运行以下命令,将stdout重定向到/tmp/newfile

    $ print dup2(open(“/tmp/newfile”,0),1)
  • 运行以下命令将stderr重定向到/tmp/newfile

    $ print dup2(open(“/tmp/newfile”,0),2)
  • 从您的进程和完成的
  • 中分离gdb

    dup2的作用是

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

    10-11 21:45