server端
socket,os,time
server=socket.socket()
server.bind((,9999))
server.listen()
:
conn,addr=server.accept()
print(,addr)
:
print()
data=conn.recv(1024)
data:
print()
print(,data)
cmd_res=os.popen(data.decode()).read() print(,len(cmd_res))
len(cmd_res)==0:
cmd_res=conn.send(str(len(cmd_res.encode())).encode()) client_ack=conn.recv(1024) print(,client_ack.decode())
conn.send(cmd_res.encode()) print()
server.close()
client端
socket
client=socket.socket()
client.connect((,9999))
:
cmd=input().strip()
len(cmd)==0:client.send(cmd.encode())
cmd_res_size=client.recv(1024) print(,cmd_res_size)
client.send(.encode()) received_size=0
received_data=received_size < int(cmd_res_size.decode()): data=client.recv(1024)
received_size +=len(data) received_data +=data
: print(,received_size)
print(received_data.decode())
client.close()
在linux后台运行python脚本 加-u参数才能打印日志
nohup python3 -u sock_ssh_server.py >py_run.log 2>1 &
自动拉起 sh脚本
#!/bin/sh
source ~/.bash_profile
ps -ef|grep -v grep|grep '/usr/local/bin/python3 -u /root/sock_ssh_server.py' > /dev/null 2>&1
if [ $? -eq 0 ]
then
echo `date`"------python脚本正在运行" >> ~/result.log
else
nohup /usr/local/bin/python3 -u ~/sock_ssh_server.py > ~/py_run.log 2>1 &
fi