码迷,mamicode.com
首页 > 其他好文 > 详细

远程执行命令

时间:2018-05-23 20:47:34      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:nbsp   pipe   imp   encode   enc   服务器   stdin   import   NPU   

服务器:

#远程执行命令
from socket import *
import subprocess
ip_port=(127.0.0.1,8080)
back_log=5
buffer_size=1024

tcp_server=socket(AF_INET,SOCK_STREAM)
tcp_server.bind(ip_port)
tcp_server.listen(back_log)

while True:
    conn,addr=tcp_server.accept()
    print(新的客户端链接,addr)
    while True:
        #
        try:
            cmd=conn.recv(buffer_size)
            # if not cmd:break
            print(收到客户端命令是,cmd)

        #执行命令,得到命令的运行结果,cmd_res
            res=subprocess.Popen(cmd.decode(utf-8),shell=True,
                                 stderr=subprocess.PIPE,
                                 stdout=subprocess.PIPE,
                                 stdin=subprocess.PIPE)
            err=res.stderr.read()
            if err:#有值
                cmd_res=err
            else:
                cmd_res=res.stdout.read()
            #
            conn.send(cmd_res)
        except Exception as e:
            print(e)
            break
    conn.close()

客户端:

from socket import *
ip_port=(127.0.0.1,8080)
back_log=5
buffer_size=1024

tcp_client=socket(AF_INET,SOCK_STREAM)#数据报
tcp_client.connect(ip_port)
while True:
   cmd=input(>>).strip()
   if not cmd:continue
   if cmd==quit:break
   tcp_client.send(cmd.encode(utf-8))
   cmd_res=tcp_client.recv(buffer_size)
   print(命令的执行结果是,cmd_res.decode(gbk ))
tcp_client.close()

 

远程执行命令

标签:nbsp   pipe   imp   encode   enc   服务器   stdin   import   NPU   

原文地址:https://www.cnblogs.com/wfl9310/p/9078304.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!