Você não precisa nem mesmo de KillUserProcesses=no
. RemoveIPC=no
deve ser suficiente.
Ativar o lingering para o usuário me
seria uma alternativa para isso. Isso seria diferente, pois deixaria uma instância de systemd --user
em execução o tempo todo.
This behavior is controlled by the KillUserProcesses= setting in logind.conf, and the previous default of "no" is now changed to "yes". This means that user sessions will be properly cleaned up after, but additional steps are necessary to allow intentionally long-running processes to survive logout.
O que a citação significa é que "etapas adicionais" são necessárias para permitir, p. O GNU Screen continuará executando após o logout, se e somente se KillUserProcesses = yes. As etapas adicionais são basicamente systemd-run --user --scope COMMAND
e permitem a permanência.
Isso não está relacionado ao seu desejo. Porque o seu processo de serviço não é executado dentro de uma sessão de login.
Sua conclusão de olhar para systemd-cgls é exatamente correta.
Uma alternativa seria nunca efetuar login como o usuário me
. su
conta como um login. O usuário crontabs conta como um login (a menos que /etc/pam.d/cron evite invocar o pam_systemd, direta ou indiretamente). Por exemplo, você pode substituir seu uso de su
por setpriv
ou, em vez de cron, usar uma unidade de timer do systemd que inicia um serviço que tenha User=me
.