Signals

如何將我的簡單腳本變成非輪詢版本

  • January 31, 2020

我編寫了一個簡單的 bash 腳本,它通過 playerctl 讀取有關目前播放歌曲的元資訊。現在腳本只是不必要的輪詢資訊。我希望僅在歌曲更改時呼叫腳本。我使用的實際播放器主要是 Spotify。

有什麼辦法可以使用信號來實現這一點?也許攔截信號 spotify 正在發送?

我不(僅)對我的問題的解決方案感興趣。我真的很想了解有關該主題的更多資訊。如何找出程序發送了哪些信號,如何攔截和使用它們等?如果這甚至是一種可能。

playerctl 的 github 頁面有一個使用 python 輪詢事件的範例。

API可能會為您提供其他資訊。

Playerctl 現在有一個跟隨開關,可以列印出所做的更改。你也可以傳遞一個格式字元串來格式化你想要的元數據。

playerctl metadata –format ‘{{ 藝術家 }} - {{ title }} {{ duration(position) }}|{{ duration(mpris:length) }}’ –follow

引用自:https://unix.stackexchange.com/questions/349695