这就是我要实现的目标:
- 在后台运行命令/进程,并将其输出重定向到一个以后台进程的进程 ID 命名的临时文件。
- 例子:
- top &//这个后台进程的进程Id是1123
- top 的输出应存储在文件 1123.temp 中
这可能吗?因为要真正在后台运行它,我们不需要在将其标记为后台进程之前进行重定向吗?还是有一些技术可以解决这个问题?
最佳答案
您可以重定向到一个临时文件,然后 mv
该文件到所需的名称,例如
process > /tmp/process.log &
mv /tmp/process.log /tmp/$!.log
$!
是先前后台进程的 pid。请注意,mv 只是重命名该文件。它不会中断写入。
关于bash - 将进程的输出写入文件名中包含进程 ID 的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13492317/