Linux

systemd logind 서비스 idle 상태에서 꺼짐 방지 (background 서비스)

chbae 2024. 8. 29. 00:53
728x90

systemd의 logind 서비스에서 서버의 상태가 idle일 때 poweroff를 하도록 설정하려면 아래와 같이 하면 된다.

 

파일: /etc/systemd/logind.conf

IdleAction=poweroff
IdleActionSec=30min

 

이후 아래 명령어로 systemd 서비스를 재시작해주면 반영된다.

$ systemctl daemon-reload
$ systemctl restart systemd-logind.service

 

여기서 문제는 idle 상태에 대한 판단은 사용자 인터랙션이기 때문에 background로 빌드가 돌아가고 사용자가 세션을 나가버리면 idle 상태로 인식하고 30분후에 자동으로 꺼진다는 것이다. 이에 대한 해결 방법은 다음과 같이 명령어를 주면 background로 돌아가는 서비스가 끝날때까지 idle로 빠지지 않는다.

$ systemd-inhibit --why="building" --what=idle bitbake core-image

 

bitbake core-image 동작이 끝나면 이후부터 idle 시간이 카운팅 된다.