Systemd service - Python script inside Screen on boot
Type=simple
expects the service's main process to continue running forever. Your actual command, however, is telling Screen to do the opposite – start a new session and fork to background.
When Screen does that, systemd assumes the service has exited, and cleans up all leftover processes – including the "backgrounded" Screen process. (This doesn't even count as a "failure".)
To avoid that, either change type to forking
, or the Screen -dm
option to -Dm
.