gpt4 book ai didi

linux - `nohup` 通过 PID 调用一个已经运行的进程(类似于 AIX nohup -p)

转载 作者:太空狗 更新时间:2023-10-29 11:42:20 27 4
gpt4 key购买 nike

我遇到无法运行 nohup -p <processid> 的情况在 Linux RHEL 6.6 框中,它表示不支持此选项。我阅读了联机帮助页,在 Linux 中它只有 --help--version作为 Linux 中的选项。

nohup -p还有其他选择吗? , 以允许已经运行的进程在运行终端退出后继续存在?

最佳答案

这一部分很简单:要从 shell 的进程表中删除作业,您可以使用 disown

容易的部分是重定向 stdout 和 stderr 远离 TTY。为此,您可以使用 gdb 来控制进程并告诉它替换 stdin、stdout 和 stderr(请注意,您需要确保这也在其他子进程或同样需要在退出操作中存活的线程):

# for an instance of /path/to/program with PID 1234

# note that this is intended to be a transcript of content typed at a prompt -- it isn't a
# working shell script, since the commands after "gdb" are to be run *by gdb*, not the
# shell.

gdb /path/to/program
attach 1234
p dup2(open("/dev/null", 1), 0)
p dup2(open("stdout-file", 1), 1)
p dup2(open("stderr-file", 1), 2)
detach
quit

has been automated作为名为 dupx 的工具。

关于linux - `nohup` 通过 PID 调用一个已经运行的进程(类似于 AIX nohup -p),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38512194/

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