持久的流程替换?

持久的流程替换?

有没有一种方法可以进行像这样的进程替换<(grep foo some/file),并将其保存到磁盘上的“类似文件的实体”(让人想起fifo),这样,每次这个东西被某个进程打开以供读取时Pgrep foo some/file命令(或无论如何)将重新运行,并且输出作为进程正在读取的内容返回P

答案1

这对于标准 UNIX/POSIX 设施来说是不可能的。你不完美的选择是:

  • 只需使用 shell 脚本,并让“打开”应用程序(或您的 shell)执行它,而不是打开它进行读取。某些应用程序可能支持这样做,否则您将不得不求助于 shell 脚本包装器。
  • 使用 fifo,并编写一个向其写入的守护进程。这当然意味着您需要启动守护进程,如果同时打开多次 fifo,守护进程将无法正常工作。
  • 使用虚拟文件系统(例如 Linux 上的 FUSE)来呈现具有所需语义的虚拟文件。您仍然需要一个为此实现虚拟文件系统的守护程序。

相关内容