스크립트가 실행 중일 때 Systemd가 시작을 일시 중지합니다.

스크립트가 실행 중일 때 Systemd가 시작을 일시 중지합니다.

시작 시 실행하고 싶은 스크립트가 있는데, 실행 시 시작 프로세스를 일시 중지하고 싶습니다.

나는 systemd 서비스를 시도했다

[Unit]
Description=setup script
Before=default.target

[Service]
Type=oneshot
ExecStart=/my/setup/script

[Install]
WantedBy=default.target

하지만 이렇게 하면 부팅 프로세스가 계속되므로 스크립트가 아직 완료되지 않았음에도 그래픽 데스크톱이 계속 실행됩니다.

이것이 systemd와 관련이 있습니까?

저는 Raspbian Jessie를 사용하여 Raspberry Pi에서 이 프로그램을 실행하고 있습니다.

답변1

로그인 관리자로 gdm을 사용한다고 가정하면,

[Unit]
Description=setup script
Before=gdm.service

[Service]
Type=oneshot
ExecStart=/my/setup/script

[Install]

gdm을 사용하지 않는 경우 xorg를 시작하는 서비스를 찾아 Before=해당 줄에 넣으십시오. 설명: 두 가지 문제가 있습니다. 1. 귀하의 경우에는 default.targetgraphic.target에 대한 심볼릭 링크일 수 있습니다. 따라서 Wants=default.target그래픽 타겟 이후에 시작해야 함을 의미합니다. 2. Before=default.target작동하지 않습니다. 타겟은 부팅 프로세스의 특정 단계에서 시작할 때 systemd에 보고하는 데 사용됩니다.완전한로딩이 시작될 때가 아니라 시작됩니다. 따라서 무언가를 시작하고 싶을 때만 목표를 사용하는 것이 합리적입니다.뒤쪽에목표는 이전에 도달되지 않았거나 서비스 로드가 완료된 후에만 목표에 도달하도록 하려는 경우입니다.

관련 정보