linux - 屏幕作为 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)
有任何想法吗?
解决方案
推荐阅读
- css - 重叠的容器
- asp.net - EF Core 仅包含实体的子属性
- java - 如果 HashSet、ArrayList 返回的迭代器是快速失败的,我们如何使用迭代器 remove() 从集合中删除元素
- javascript - 尝试使用 mongoose 将新对象添加到我的 MongoDB 数据库时,我不断收到 ValidationError
- ruby-on-rails - Rails Sass 自定义方法未运行
- powershell - 移动从 Active Directory 输出的文件列表
- excel - 使用 StreamWriter 更改 excel 列宽
- c# - 通用控制器不执行 UnitOfWork 方法 Complete()
- python - 如何使用 http 打破烧瓶和 python 的无限循环?
- node.js - 如何在 Node.js 中同步检查 TCP 连接?