我尝试从子进程调用中使用 gnu screen 执行服务器守护进程,但它甚至没有启动
subprocess.call(["screen", "-dmS test ./server"])
有人告诉我运行 screen 需要终端,因此我不能简单地通过调用执行它。你能告诉我一些代码来做到这一点吗?
最佳答案
尝试
subprocess.call( ["screen", "-d", "-m", "-S", "test", "./server"] )
您需要将参数字符串分解为单独的参数,每个字符串一个。
这是
subprocess
文档中的相关引用:因此,默认情况下,参数完全按照您提供的方式使用;它不会尝试将字符串解析为多个参数。如果您将
shell
设置为 true
,您可以尝试以下操作:subprocess.call("screen -dmS test ./server", shell=True)
并且字符串将像命令行一样被解析。
关于python - 从python启动gnu屏幕?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10817929/