首页 > 解决方案 > 屏幕作为 systemd 上的服务无法启动

问题描述

我正在尝试在 systemd 服务上运行 screen 作为启动,因此如果需要,我可以稍后在交互式 shell 上检查它,但会话不会保持正常,而且显然它甚至没有启动。

这是我的单位文件。

Description=MyService
After=network.target

[Service]
type=forking
User=<myuser>
Group=<myuser>
WorkingDirectory=/home/myuser
ExecStart=/usr/bin/screen -L -d -m -S myservice /home/myuser/runmycommands.sh

[Install]
WantedBy=multi-user.target

这是我的脚本

cd mysoftware
echo "This doesn't work" >> /home/myuser/log.log
./mysoftware

我得到的只是一个死屏:

        737.myservice   (02/23/2021 10:59:18 PM)        (Dead ???)

如果我复制 ExecStart 行并直接运行它,它就可以工作。

myuser@mymachine:~$ /usr/bin/screen -L -d -m -S myservice /home/myuser/runmycommands.sh
myuser@mymachine:~$ screen -wipe
There is a screen on:
        1026.myservice  (02/23/2021 11:14:46 PM)        (Detached)

有任何想法吗?

标签: linuxsystemdgnu-screen

解决方案


推荐阅读