【发布时间】:2016-01-15 10:25:12
【问题描述】:
由于 screen 与 python-newt 库的结合在我们当前的设置中导致了段错误,我正在寻找一个替代 screen 的程序。 该系统是绝对最小的,只需要执行一个安装未来操作系统的python脚本。
我找到了 dtach (http://linux.die.net/man/1/dtach)。 我可以在正在运行的 tty 会话中使用该命令运行我想要的脚本。
dtach -c /tmp/test /usr/local/bin/master.py
我还可以附加到正在运行的会话等。 此外,我需要让 ut 在启动时运行,因为屏幕前的用户必须获得输入值(如果它们不存在)的可能性。
我制作了以下位于 /etc/systemd/system/master.service 的 systemd 服务文件
[Unit]
Description=Job that starts the master.py
Requires=premaster.service
After=premaster.service
[Service]
Type=simple
ExecStart=/usr/bin/dtach -c /tmp/master /usr/local/bin/master.py
[Install]
WantedBy=multi-user.target
并在启动时使用
启用它systemctl enable /etc/systemd/system/master.service
premaster 位于 /etc/init.d/premaster 并按预期执行
当我运行 master.service 时出现以下错误
/usr/bin/dtach: Attaching to a session requires a terminal
【问题讨论】:
标签: python linux terminal systemd