Python之路-python(paramiko,进程和线程的区别,GIL全局解释器锁,线程,进程),,一、paramiko


一、paramiko

二、进程、与线程区别

三、python GIL全局解释器锁

四、线程

语法join线程锁之Lock\Rlock\信号量将线程变为守护进程Event事件 queue队列生产者消费者模型Queue队列

  一、paramiko

  用于远程连接并执行简单的命令

  使用用户名密码连接:

 1 import paramiko 2  3 # 创建SSH对象 4 ssh = paramiko.SSHClient() 5 # 允许连接不在know_hosts文件中的主机 6 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 7 # 连接服务器 8 ssh.connect(hostname=‘172.16.5.163‘, port=22, username=‘root‘, password=‘111111‘) 9 10 # 执行命令11 stdin, stdout, stderr = ssh.exec_command(‘df‘)12 # 获取命令结果13 result = stdout.read()14 print(result.decode())15 16 # 关闭连接17 ssh.close()18 19 20 结果21 Filesystem                    1K-blocks    Used  Available Use% Mounted on22 /dev/mapper/VolGroup-lv_root   51606140 1518048   47466652   4% /23 tmpfs                            510172       0     510172   0% /dev/shm24 /dev/sda1                        495844   33461     436783   8% /boot25 /dev/mapper/VolGroup-lv_home 2059640248  203016 1954813516   1% /home

  使用公钥连接

import paramikoprivate_key = paramiko.RSAKey.from_private_key_file(‘id_rsa.txt‘)#创建SSH对象ssh = paramiko.SSHClient()#允许连接不在know_host文件中的主机ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())#连接服务器ssh.connect(hostname=‘172.16.5.163‘,port=22,username=‘root‘,pkey=private_key)#执行命令stdin,stdout,stderr = ssh.exec_command(‘df -h‘)#获取命令结果restult = stdout.read()#打印执行结果print(restult.decode())#关闭连接ssh.close()

技术分享

  SFTPClient使用用户名密码完成上传下载

 1 import paramiko 2  3 transport = paramiko.Transport((‘172.16.5.163‘,22)) 4 transport.connect(username=‘root‘,password=‘111111‘) 5  6 sftp = paramiko.SFTPClient.from_transport(transport) 7 # 将location.py 上传至服务器 /tmp/test.py 8 sftp.put(‘D:\\test1\\put.txt‘, ‘/tmp/put.txt‘) 9 # 将remove_path 下载到本地 local_path10 sftp.get(‘/tmp/get.txt‘, ‘D:\\test1\\get.txt‘)11 12 transport.close()

  SFTPClient使用公钥完成上传下载

 1 import paramiko 2  3 private_key = paramiko.RSAKey.from_private_key_file(‘id_rsa.txt‘) 4  5 transport = paramiko.Transport((‘172.16.5.163‘, 22)) 6 transport.connect(username=‘root‘, pkey=private_key ) 7  8 sftp = paramiko.SFTPClient.from_transport(transport) 9 # 将location.py 上传至服务器 /tmp/test.py10 sftp.put(‘D:\\test1\\put.txt‘, ‘/tmp/put.txt‘)11 # 将remove_path 下载到本地 local_path12 sftp.get(‘/tmp/get.txt‘, ‘D:\\test1\\get.txt‘)13 14 transport.close()

  二、进程、与线程区别

  线程:是操作系统的最小调度单元,一堆指令的集合。

  进程:操作CPU,必须先创建一个线程

进程和线程的区别启动一个线程比启动一个进程快,运行速度没有可比性。先有一个进程然后才能有线程。1、进程包含线程2、线程共享内存空间3、进程内存是独立的(不可互相访问)4、进程可以生成子进程,子进程之间互相不能互相访问(相当于在父级进程克隆两个子进程)5、在一个进程里面线程之间可以交流。两个进程想通信,必须通过一个中间代理来实现6、创建新线程很简单,创建新进程需要对其父进程进行克隆。7、一个线程可以控制或操作同一个进程里面的其它线程。但进程只能操作子进程。8、父进程可以修改不影响子进程,但不能修改。

Python之路-python(paramiko,进程和线程的区别,GIL全局解释器锁,线程,进程)

相关内容

    暂无相关文章

评论关闭