내 Systemd 장치 arkos-redis가 로드되었지만 비활성(동결)된 이유는 무엇입니까?

내 Systemd 장치 arkos-redis가 로드되었지만 비활성(동결)된 이유는 무엇입니까?

내 서비스 파일의 내용은 다음과 같습니다 arkos-redis.service.

GNU nano 2.4.2   File: /usr/lib/systemd/user/arkos-redis.service              

[Unit]
Description=Advanced key-value store

[Service]
ExecStart=/usr/bin/redis-server /etc/arkos/arkos-redis.conf
ExecStop=/usr/bin/redis-cli shutdown

[Install]
WantedBy=default.target

하지만 시작하면 다음과 같은 상태가 나타납니다.

[vagrant@arkos-vagrant etc]$ systemctl --user status arkos-redis.service
��arkos-redis.service - Advanced key-value store
   Loaded: loaded (/usr/lib/systemd/user/arkos-redis.service; enabled; vendor preset: enabled)
   Active: inactive (dead)

답변1

서비스 파일은 에 있으므로 사용자 서비스로 간주되며 /usr/lib/systemd/user자체 인스턴스에 의해 시작 systemd(다음으로 실행 )됩니다 systemd --user. 이는 무엇보다도 귀하의 사용자(대신) root와 로그인한 모든 사용자에 대해 프로세스가 시작된다는 것을 의미합니다. 의 구성 파일에 대한 참조를 기반으로 이 프로세스의 인스턴스는 주어진 시간에 하나만 실행되어야 하며 이 프로세스는 다른 시스템 계정으로 실행 /etc되어야 한다고 추측합니다 . root이 프로세스가 시작되어야 하는 경우 root이 파일을 /usr/lib/systemd/system(또는 /etc/systemd/system자신의 서비스 파일이므로 더 나은)로 이동하고 이 답변의 나머지 부분을 무시하십시오.

자신의 사용자로 서비스 파일을 시작해야 하는 경우 사용자 모드에서는 다음 대상만 사용할 수 있습니다.

   When systemd runs as a user instance, the following special units are available, which have
   similar definitions as their system counterparts: default.target, shutdown.target,
   sockets.target, timers.target, paths.target, bluetooth.target, printer.target,
   smartcard.target, sound.target.

multi-user.target사용할 수 없으므로 서비스 network.target가 자동으로 시작되지 않습니다. 시작하려면 multi-user.target으로 변경 default.target한 다음 삭제하세요 After=network.target. 그런 다음 systemctl --user enable arkos-redis.service.

관련 정보