Python之路-python(paramiko,进程和线程的区别,GIL全局解释器锁,线程,进程),,一、paramiko
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全局解释器锁,线程,进程)
相关内容
- 暂无相关文章
评论关闭