我想使用 在后台运行一个进程,&
并让该进程访问前台进程中使用的数据。
这是一个例子:
A() {
echo "$a"
}
a="abc"
while true; do echo "$(A)"; sleep 10; done &
a="xyz"
后台进程的输出始终是“abc”。a
后台任务启动后放入什么值并不重要。在示例中,我希望第一次迭代输出“abc”,10 秒后输出应为“xyz”。
我想要一个后台进程,其行为就像 Windows 中的线程一样。该线程可以完全访问所有数据(但不得更改会影响 UI 的数据)。这可能吗?
答案1
做到这一点的最好方法就是使用文件。其他方法包括命名管道和(在某些 shell 中)协进程。