我遇到了一个问题systemctl
,我无法在服务器启动时appium
通过启动工具。systemctl
这是systemctl
我编写的服务,我希望它能够启动appium
我的机器内的屏幕实例内的工具并与其分离,同时保持其运行(因此有标志-dmS
)。
[Unit]
Description=Start appium
[Service]
Type=oneshot
RemainAfterExit=no
ExecStart="screen -dmS appium appium"
[Install]
WantedBy=default.target
启动服务时,我在服务日志中看到一个错误,表示在我的系统中找不到它appium
。但是,如果我尝试通过终端 ( $ screen -dmS appium appium
) 执行它,我可以正常运行它。
非常感谢您的帮助。谢谢。
答案1
解决方案: systemd
在其自己的“子 shell”中运行进程,一旦调用完成,它就会继续运行,就像一种“screen
实例”一样。
因此,解决方案变得比我所想的简单得多:
[Unit]
Description=Start appium
[Service]
Type=oneshot
RemainAfterExit=no
ExecStart=appium
[Install]
WantedBy=default.target
直接传入appium
命令即可奏效。如果安装了多个版本,avm use $(VERSION)
也可以使用该命令(例如avm use 1.7.2
appium 1.7.2
)。