将标准输出重定向到包含日志记录过程的pid的文件

时间:2010-10-04 12:17:43

标签: bash scripting

我已经搜索了一段时间,但我无法找到答案或想出我自己的解决方案,所以我转向你们。我实际上问的第一个问题是:)

我想运行同一程序的多个实例,并将每个程序的标准输出重定向到包含相同进程'pid的文件,如:

my_program > <pid of the instance of my_program that is called in this command>.log

我知道这种情况甚至还没有结束:P我用exec和$ PPID修改了但是无济于事。我的bash-fu很弱:|请帮帮我,指点我!谢谢!

2 个答案:

答案 0 :(得分:2)

您可以将程序执行包装到bash脚本中。 bash流程将在exec来电时替换为您的计划。所以:

#!/bin/bash
exec my_program > $$.log

答案 1 :(得分:0)

在创建进程之前,您无法知道进程的PID。

因此,这是不可能的,您应该重写被调用的程序,使用getpid()从自己的PID伪造日志名称。

相关问题