【发布时间】:2012-01-12 15:04:21
【问题描述】:
我创建了一个 bash 脚本,它在后台运行。它有一个存储在文件中的 PID,我可以使用 KILL 将预定义的信号传递给进程。
不过,有时我想手动将信息传递给流程。最好我希望能够传递一个字符串或信息数组,这些信息是通过 TRAP 捕获的,然后 bash 文件中的永远循环将处理这些信息。有没有一种简单的方法可以将信息传递到后台进程?
谢谢
【问题讨论】:
标签: bash process embedded-linux
我创建了一个 bash 脚本,它在后台运行。它有一个存储在文件中的 PID,我可以使用 KILL 将预定义的信号传递给进程。
不过,有时我想手动将信息传递给流程。最好我希望能够传递一个字符串或信息数组,这些信息是通过 TRAP 捕获的,然后 bash 文件中的永远循环将处理这些信息。有没有一种简单的方法可以将信息传递到后台进程?
谢谢
【问题讨论】:
标签: bash process embedded-linux
您可以创建一个fifo,让主进程写入它并让子进程从中读取。
mkfifo link
run_sub < link &
generate_output > link
【讨论】:
让它监听一个套接字并实现一个协议来实现你的通信目标,对于 bash 来说可能有点多。
或者,让它在收到特定信号时尝试读取特定文件。例如,程序通常会在收到 HUP 后重新读取其配置文件。
【讨论】: