小编典典

如何重定向已运行进程的输出

all

通常我会启动一个命令

longcommand &;

我知道你可以通过做类似的事情来重定向它

longcommand > /dev/null;

例如摆脱输出或

longcommand 2>&1 > output.log

捕获输出。

但我有时会忘记,并想知道是否有办法在事后捕获或重定向。

longcommand
ctrl-z
bg 2>&1 > /dev/null

或类似的东西,这样我就可以继续使用终端,而不会在终端上弹出消息。


阅读 79

收藏
2022-08-24

共1个答案

小编典典

请参阅 从正在运行的进程重定向输出

首先,我cat > foo1在一个会话中运行命令并测试来自标准输入的数据是否被复制到文件中。然后在另一个会话中我重定向输出。

首先找到进程的PID:

$ ps aux | grep cat
rjc 6760 0.0 0.0 1580 376 pts/5 S+ 15:31 0:00 cat

现在检查它打开的文件句柄:

$ ls -l /proc/6760/fd
total 3
2022-08-24