![간단한 스크립트를 폴링이 아닌 버전으로 바꾸려면 어떻게 해야 합니까?](https://linux55.com/image/107031/%EA%B0%84%EB%8B%A8%ED%95%9C%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%A5%BC%20%ED%8F%B4%EB%A7%81%EC%9D%B4%20%EC%95%84%EB%8B%8C%20%EB%B2%84%EC%A0%84%EC%9C%BC%EB%A1%9C%20%EB%B0%94%EA%BE%B8%EB%A0%A4%EB%A9%B4%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%ED%95%B4%EC%95%BC%20%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
나는 playerctl을 통해 현재 재생 중인 노래에 대한 메타 정보를 읽는 간단한 bash 스크립트를 작성했습니다. 이제 스크립트는 불필요하게 정보를 폴링합니다. 노래가 바뀔 때만 스크립트가 호출되도록 하고 싶습니다. 제가 실제로 사용하는 플레이어는 주로 Spotify 입니다.
신호를 사용하여 이를 달성할 수 있는 방법이 있습니까? 어쩌면 Spotify가 보내는 신호를 가로챌 수도 있을까요?
나는 내 문제를 해결하는 것에만 관심이 없습니다. 나는 이 주제에 대해 더 많이 배우고 싶습니다. 프로세스에서 어떤 신호가 전송되는지, 이를 가로채고 사용하는 방법 등을 찾는 방법은 무엇입니까? 가능하다면.
답변1
Playerctl에는 이제 변경 사항만 인쇄할 수 있는 팔로우 스위치가 있습니다. 형식 문자열을 전달하여 원하는 방식으로 메타데이터의 형식을 지정할 수도 있습니다.
playerctl 메타데이터 --format '{{ 아티스트}} - {{ 제목}} {{ 기간(위치) }}|{{ 기간(mpris:길이) }}' --follow
답변2
playerctl의 github 페이지Python을 사용하여 이벤트를 폴링하는 예가 있습니다.
이것응용 프로그래밍 인터페이스더 많은 정보를 얻을 수 있습니다.