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

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

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

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

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

您可以重定向到临时文件,然后将该文件转换为所需的名称,例如
process > /tmp/process.log &
mv /tmp/process.log /tmp/$!.log

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

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...