在Bash中创建事件手动行为



我有一个流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_commandanother_command都在运行背景和wait命令会导致您的脚本等待直到两个背景过程退出。

您可以变得更加幻想(例如,wait可以接受PID等待一个特定的过程,您可以使用kill停止背景处理如果您需要提早终止它,等等)。

相关内容

  • 没有找到相关文章

最新更新