我想拍摄一个命令到服务器运行永远说! 在“屏幕会话”下使用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