내 디지털 액자 에는 crontab -u pi -e
두 가지 프로세스가 있습니다.
첫 번째 전화feh
재부팅하면 슬라이드 쇼가 시작됩니다.
@reboot bash /home/pi/ledslide1.sh >> /home/pi/logs/slidelog 2&>1
그런 다음 특정 시간에 다른 인스턴스를 시작해야 합니다.
15 8 * * * bash /home/pi/ledslide2.sh >> /home/pi/logs/slidelog 2&>1
15 9 * * * bash /home/pi/ledslide3.sh >> /home/pi/logs/slidelog 2&>1
...
하지만 feh
슬라이드 쇼가 반복해서 실행되고 있습니다. 그런 식으로 프로세스를 먼저 종료해야 겠죠? timeout
재부팅이 언제 발생하는지 모르기 때문에 작동하지 않습니까?
답변1
ledslide.sh 스크립트에서 pkill -9 feh
kill 을 사용하십시오 feh
. PID 등을 추적할 필요가 없습니다. pkill
주어진 이름을 가진 프로세스를 검색하고 종료하는 데 사용됩니다. 나는 manpage
for pkill
및 를 읽을 것을 제안합니다 pgrep
.
답변2
이것은 지금까지 나에게 효과적이었습니다.
@reboot bash /home/pi/ledslide1.sh >> /home/pi/logs/slidelog 2&>1
15 8 * * * pkill -9 feh && bash /home/pi/ledslide2.sh >> /home/pi/logs/slidelog 2&>1
.sh 파일이 호출 feh
되어 백그라운드에 배치됩니다. 프로세스 pkill -9 [KEYWORD]
를 닫습니다 feh
.