从ssh开始一个背景屏幕会话。

我想拍摄一个命令到服务器运行永远说! 在“屏幕会话”下使用ssh

所以我正在使用类似的东西

ssh -t root@server screen -S myinf "python infinit1.py &" 

infinit1.py是脚本。 问题“python infinit1.py”不会在后台进行,也不会创build名为“myinf”的屏幕。

我感谢你的提示。

这是因为您所调用的屏幕需要一个pty才能运行。 您将需要以分离模式启动屏幕:

 ssh root@server screen -d -m -S myinf python infinit1.py 

做这个

  ssh -t root@server "nohup bash -c '( ( /usr/bin/python infinit1.py &> /dev/null ) & )'" 

这是因为打开的tty需要closures,从而无法保持命令运行。 要查看输出,请将/ dev / null更改为实际的文件名。

我还没有尝试使用远程屏幕,所以我省略了这一点。 你可能能够得到它的工作,但也许语法是一点点。

你不需要引号或&符号。 改为使用-d -m选项以分离模式启动屏幕。 看看更多信息的手册页。

一个工作示例命令行是:

 ssh $host screen -S myinf -d -m tail -F /var/log/dmesg