명령은 터미널에서 실행되지만 서비스로는 실행되지 않습니다.

명령은 터미널에서 실행되지만 서비스로는 실행되지 않습니다.

이러한 문제의 대부분은 경로 오류로 인해 발생합니다. 절대 경로를 거기에 넣었으므로 이것은 내 문제가 될 수 없습니다. 서비스를 시작하면 성공적으로 시작되었음에도 불구하고 항상 "비활성"이라고 표시됩니다.

내 .service 파일은 다음과 같습니다.

[Unit]
Description=hd-idle - spin down idle hard disks
Documentation=man:hd-idle(1)
After=network.target

[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/root
#EnvironmentFile=/etc/default/hd-idle
ExecStart=/usr/sbin/hd-idle -i 10
Restart=always

[Install]
WantedBy=multi-user.target

답변1

해결책을 우연히 다른 곳에서 찾았어요StackExchange 게시물.

RemainAfterExit서비스 카테고리에서 라벨을 yes로 설정하세요 .

RemainAfterExit=yes

내가 이해하는 바에 따르면 그 이유는 명령이 실행되지만 다른 프로그램이 변경하려는 시스템 플래그를 변경하기 때문입니다. RemainAfterExit레이블을 설정하지 않으면 내 프로그램은 아무 작업도 수행하지 않고 종료되므로 내 경우에는 아무 작업도 수행되지 않습니다.

관련 정보