python 并发和通信

Posted Cluster Note

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 并发和通信相关的知识,希望对你有一定的参考价值。

... 占位

参考 https://zhiqianghe.blog.csdn.net/article/details/108440342

 

import paramiko, sys, time
import multiprocessing as mp
from multiprocessing  import Manager
from multiprocessing import Queue

# 创建SSH对象
def getdf(q):
    ssh = paramiko.SSHClient()

    # 允许连接不在know_hosts文件中的主机
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

    # 连接服务器
    ssh.connect(hostname=\'192.168.122.72\', port=22, username=\'uos\', password=\'uosuos\')

    # 执行命令
    stdin, stdout, stderr = ssh.exec_command(\'lsblk\')
    # 获取命令结果
    result = stdout.read()
    # 关闭连接
    ssh.close()

    q.put(result.decode(\'utf-8\'))


def Hup(q):
    time.sleep(2)
    q.put("Hup=====>")

def h(q):
    print(q.get())
    # print(q.get())

def main():
    q=Queue()
    print("main beigin")
    # p1=mp.Process(target=h,args=(q,))
    p2=mp.Process(target=getdf,args=(q,))

    # p1.start()
    p2.start()
    # p1.join()
    p2.join()

    print(q.get())
    print("main end")

if __name__ == \'__main__\':
    main()


------------output-------------------
uos@vm3:~/tmp$ python sshh.py
main beigin
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   65G  0 disk
├─sda1   8:1    0  1.5G  0 part /boot
├─sda2   8:2    0    1K  0 part
├─sda3   8:3    0   11G  0 part /recovery
├─sda4   8:4    0    3G  0 part [SWAP]
├─sda5   8:5    0   15G  0 part /
├─sda6   8:6    0   15G  0 part
└─sda7   8:7    0 19.5G  0 part /data
sdb      8:16   0    2G  0 disk
└─sdb1   8:17   0  1.9G  0 part
sr0     11:0    1 1024M  0 rom

main end

  

以上是关于python 并发和通信的主要内容,如果未能解决你的问题,请参考以下文章

多个用户访问同一段代码

python 网络编程和并发编程题

python 并发和通信

Python并发编程03/僵尸孤儿进程,互斥锁,进程之间的通信

golang goroutine例子[golang并发代码片段]

Python并发编程之进程通信