bash – 将进程的输出写入文件名中包含进程ID的文件

这就是我想要实现的目标:

>在后台运行命令/进程,并将其输出重定向到临时文件,该文件以后台进程的进程ID命名.
>示例:

>顶级& //此后台进程的进程ID为1123
> top的输出应存储在文件1123.temp中

这可能吗?因为要在后台真正运行它,我们不必在将其标记为后台进程之前进行重定向吗?或者有一些技巧可以解决这个问题吗?

您可以重定向到临时文件,然后将该文件转换为所需的名称,例如

process > /tmp/process.log &
mv /tmp/process.log /tmp/$!.log

$!是以前的后台程序的pid.请注意,mv只是重命名该文件.它不会中断写入它.

相关文章
相关标签/搜索