我正在运行一个 Java 程序,并且使用 Java 程序运行 Python 脚本。python 脚本(带有 subprocess.Popen)运行以下命令
screen -x hg1 -X stuff "jsp sign edit status1 2 test line $(printf '\r')"
...但当它这样做时,它会重新调整错误
Must be connected to a terminal.
我尝试做很多事情,包括做一堆开关(例如-dm,-d,-m等),但它们都不起作用。
我如何使屏幕内容成为命令而不出现该错误?
答案1
我认为您的问题是您在 python 脚本中没有交互式 shell 终端会话;没有分配 tty。您可能想尝试 python 模块pty
。
如果您已经有交互式终端,您可以尝试script /dev/null
,然后尝试屏幕。
答案2
尝试这个:
screen -dm -x hg1 -X stuff "jsp sign edit status1 2 test line $(printf '\r')"
您可以在这里找到更多信息:http://www.computerhope.com/unix/screen.htm