2016-09-07 3 views
1

systemd가 데몬으로 실행한다는 것을 프로그램에서 감지 할 수있는 방법이 있습니까?프로그램이 systemd 데몬으로 실행 중인지 어떻게 감지 할 수 있습니까?

sd_booted() 

systemd API는 전체 시스템이 systemd로 부팅되는 경우 탐지에 사용하지만, 프로그램 자체에 대해 아무것도 말했다하지 않습니다.

감사

+2

'ppid' (부모 프로세스 ID)가 어쩌면 확인할까요? –

+0

나는 그것을 * 탐지하는 것이 좋은 생각이라고 생각하지 않는다. 나는 대신 프로그램 인수 협약 (예를 들어,'--started-from-systemd'를 넘겨주고 systemd가 그 인수를 전달하도록 설정했다면'systemd'에 의해 시작되었다고 가정)을 사용합니다. –

+0

'/ proc//cgroup'의'systemd' 항목은 systemd가 실행하는 서비스에 대해 다른 것처럼 보입니다 (저는 제 라즈베리 파이에 대한 빠른 견해를 가졌습니다). –

답변

0

당신은 데몬의 서비스 파일에 마법의 환경 변수를 설정할 수 있으며,이 변수를 찾습니다.

0

상위 프로세스 id를 가져 와서 해당 프로세스가 systemd인지 확인하십시오.

관련 문제