gpt4 book ai didi

freebsd - 如果 nohup.out 被删除,如何获取正在运行的 nohup 进程的输出

转载 作者:行者123 更新时间:2023-12-05 02:22:32 25 4
gpt4 key购买 nike

我的 FreeBSD 8.4 机器上运行着一个 nohup 进程。最初我正在查看通过

输出的 nohup 控制台消息
tail -f nohup.out

但是我不小心删除了 nohup.out 文件。我现在如何访问控制台消息?

最佳答案

其实很简单。

  1. 首先返回您的命令历史记录,找到您用来启动该过程的命令。例如,nohup my-long-process.sh & 或者,如果您还记得它(很可能),请转到下一步。
  2. 现在找到您的进程的进程 ID。在这个例子中 ps -ef|grep my-long-process
  3. 您将在启动进程的用户名后看到 PID(进程 ID)和 PPID(父进程 ID)。你要的PID就是左边的数字。假设在这个例子中是 2919
  4. 由于该进程仍在运行,您会发现一个名为 /proc/2919/fd 的目录。这里 2919 是您从上面的 ps 命令获得的 PID。
  5. 如果您使用 ls -l/proc/2919/fd 列出该目录,您将看到一个(或两个)名为 12 的链接 等指向您的已删除 文件。事实上,目标文件的名称将是 /path/to/your/nohup.out(已删除)
  6. 您现在可以tail -f tail -f/proc/2919/fd/1

哦,如果你想看看你错过了什么,你可以less那个文件 less/proc/2919/fd/1

关于freebsd - 如果 nohup.out 被删除,如何获取正在运行的 nohup 进程的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28691874/

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