我有一个流A和一个值B。流中包含时间戳,值B也是时间戳。有时会使用包含新时间戳的新线路更新流A。B的值保持恒定。
目的是输出系统消息,一旦时间A大于时间。
我的想法是使用dbus-monitor "some arguments" | egrep --line-buffered "Timestamp:*" |
收听文件,然后是while read -r line ; do
命令。
是否可以在bash脚本中实现两个"实时" actions?例如。为了发出系统消息,一旦我的状况是真的,一个事件手hisher。还是我必须使用cron?(系统消息也可以延迟两秒钟……)
我确切地想发生什么,所以这可能只有一半答案:
当然,可以在Bash中并行运行命令,这就是您在问题的后期中所要求的。给定两个外壳功能:
some_command() {
do_something
}
another_command() {
do_something_else
}
您可以运行:
some_command &
another_command &
wait
此时,some_command
和another_command
都在运行背景和wait
命令会导致您的脚本等待直到两个背景过程退出。
您可以变得更加幻想(例如,wait
可以接受PID等待一个特定的过程,您可以使用kill
停止背景处理如果您需要提早终止它,等等)。