我创建了一个bash脚本并在后台运行。它有一个存储在文件中的PID,我可以使用KILL将预定义的信号传递给进程。如何将信息传递给bash中的后台进程
但是,我不时手动将信息传递给过程。最好是我想要发生的事情是能够传递一个字符串或信息数组,这些信息是通过TRAP捕获的,然后在bash文件中的永久循环将处理这些信息。有没有简单的方法将信息传递到后台进程?
感谢
我创建了一个bash脚本并在后台运行。它有一个存储在文件中的PID,我可以使用KILL将预定义的信号传递给进程。如何将信息传递给bash中的后台进程
但是,我不时手动将信息传递给过程。最好是我想要发生的事情是能够传递一个字符串或信息数组,这些信息是通过TRAP捕获的,然后在bash文件中的永久循环将处理这些信息。有没有简单的方法将信息传递到后台进程?
感谢
您可以创建一个fifo,让主进程写入并让孩子读取它。
mkfifo link
run_sub < link &
generate_output > link
有它监听套接字和实施协议来实现你的目标沟通,可能有点太多了庆典。
或者,它试图在接收到特定信号时读取特定文件。例如,程序在收到HUP时重新读取其配置文件是很常见的。
非常酷的功能。去测试它,看它是否适合我的程序。我正在考虑在bash中创建类似数据结构的队列,但似乎有人已经打败了我。 – jliu83 2012-01-12 15:39:10
我没有试过这个,但我会记住它。那是各种各样的真棒。 – mmrtnt 2012-01-12 16:03:03
嗯..有没有办法让读取管道非块? – jliu83 2012-01-12 21:29:21