python多进程登录远端服务器
目录
通过Semaphore
来控制对共享资源的的访问数量,可以控制同一时刻并发的进程数 。
#/usr/bin/python # _*_ coding: utf-8 _*_ import multiprocessing import time import paramiko def ssh(s,i,host):
try:
s.acquire() print(time.strftime('%H:%M:%S'),multiprocessing.current_process().name + " 获得锁运行"); ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect(hostname=host, port=22, username="root", password="yankefei") print (host+" is login success") stdin, stdout, stderr = ssh.exec_command("echo d a t e && df -hl") print(stdout.read().decode('utf-8')) returncode = stdout.channel.recv_exit_status() print("returncode:",returncode)
except:
ssh.close() # time.sleep(i) print(time.strftime('%H:%M:%S'),multiprocessing.current_process().name + " 释放锁结束"); s.release() print (host+" is unreachable")
finally:
ssh.close() s.release() if __name__ == "__main__": s = multiprocessing.Semaphore(200) #同时并发200个进程 for n in range(111): p = multiprocessing.Process(target = ssh, args=(s,2,"192.168.0."+str(n))) p.start()
运行结果如下图:
到此这篇关于python多进程登录远端服务器的文章就介绍到这了,更多相关多进程 Python内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
python pexpect ssh 远程登录服务器的方法
使用了python中的pexpect模块,在测试代码之前,可输入python进入交互界面,输入help('pexpect'),查询是否本地含有pexpect模块. 如果没有,linux系统输入 easy_install pexpect便可自动安装. 测试代码,连接127.0.0.1 下面是我手动连接127.0.0.1, 发现只有在首次使用ssh连接127.0.0.1时,需要输入yes or no ,而后再次使用ssh ,则不需要再次输入yes 直接输入密码即可. 后续测试代码是二次链接,无需查询
-
python下paramiko模块实现ssh连接登录Linux服务器
本文实例讲述了python下paramiko模块实现ssh连接登录Linux服务器的方法.分享给大家供大家参考.具体分析如下: python下有个paramiko模块,这个模块可以实现ssh登录linux服务器,下面贴出代码,注意,我在centos5.6下,python2.6.5,paramiko-1.7的版本下测试成功. #!/usr/bin/env python import paramiko hostname='172.28.102.249' username='root' passwor
-
用python写个自动SSH登录远程服务器的小工具(实例)
很多时候我们喜欢在自己电脑的终端直接ssh连接Linux服务器,而不喜欢使用那些有UI界面的工具区连接我们的服务器.可是在终端使用ssh我们每次都需要输入账号和密码,这也是一个烦恼,所以我们可以简单的打造一个在Linux/Mac os运行的自动ssh登录远程服务器的小工具. 来个GIF动画示例下先: 概述 我们先理一下我们需要些什么功能: 1. 添加/删除连接服务器需要的IP,端口,密码 2. 自动输入密码登录远程服务器 对,我们就做这么简单的功能 开始写代码 代码比较长,所以我也放在在Gith
-
python登录pop3邮件服务器接收邮件的方法
本文实例讲述了python登录pop3邮件服务器接收邮件的方法.分享给大家供大家参考.具体实现方法如下: import poplib, string PopServerName = "mail.yourserver.com" PopServer = poplib.POP3(PopServerName) print PopServer.getwelcome() PopServer.user('yourName') PopServer.pass_('yourPass') r, items,
-
python多进程基础详解
目录 进程 开启一个进程 JOIN方法 进程之间空间隔离 进程的常用方法 current_process 查看pid(进程id) os.getpid() 查看进程id 进程其他方法和属性 守护进程 互斥锁 进程间通信(IPC机制) JoinableQueue 来实现生产消费者 总结 进程 什么是进程 进程指的是一个程序的运行过程,或者说一个正在执行的程序 所以说进程一种虚拟的概念,该虚拟概念起源操作系统 一个CPU 同一时刻只能执行一件事 开启一个进程 from multiprocessing
-
Python多进程的使用详情
目录 一.进程的创建 1.一些常用方法介绍 二.进程池的使用 三.多进程和多线程的优缺点对比 一.进程的创建 Python的multiprocessing模块提供了Process类,该类可用来在各平台下创建新进程.其构造函数是: __init__(self, group=None, target=None, name=None, args=(), kwargs={}) 其中,各个参数的含义如下: group: 该参数未实现,不需要传参 target:为新建进程指定执行任务,也就是指定一个函数 a
-
python通过ftplib登录到ftp服务器的方法
本文实例讲述了python通过ftplib登录到ftp服务器的方法.分享给大家供大家参考.具体实现方法如下: import ftplib connect = ftplib.FTP("www.mysite.com") connect.login("domain\user", "password") data = [] connect.dir(data.append) connect.quit() for line in data: print(li
-
python 监控服务器是否有人远程登录(详细思路+代码)
起源 当同一个远程服务器有多个人使用的时候,想知道服务器是否有人在用,我们不能直接的去登录,因为这样可能会把对方挤下来,这并不友好,所以这里提供一个监控远程服务器是否有人连接的方式 思路 遇到这个问题,想着如何去解决 刚开始的时候,我是想通过一个主动的方式,去监控到服务器是否有人连接,就是说当我想要知道服务器是否有人连接,我通过一个运行一个脚本程序,然后返回给我一个结果,事实证明,我并没有通过这样的思路解决这个问题 后来想以一个被动的方式来监控,比如在服务器上装载一个脚本,每5分钟运行一次脚本,
-
python多进程登录远端服务器
目录 通过Semaphore 来控制对共享资源的的访问数量,可以控制同一时刻并发的进程数 . #/usr/bin/python # _*_ coding: utf-8 _*_ import multiprocessing import time import paramiko def ssh(s,i,host): try: s.acquire() print(time.strftime('%H:%M:%S'),multiprocessing.current_process().name + "
-
Python多进程与服务器并发原理及用法实例分析
本文实例分析了Python多进程与服务器并发原理及用法.分享给大家供大家参考,具体如下: 进程 什么是进程 进程:正在进行的一个过程或者说一个任务.而负责执行任务则是cpu. 进程与程序的区别 程序仅仅只是一堆代码而已,而进程指的是程序的运行过程. 并发与并行 无论是并行还是并发,在用户看来都是'同时'运行的,不管是进程还是线程,都只是一个任务而已,真是干活的是cpu,cpu来做这些任务,而一个cpu同一时刻只能执行一个任务 一 并发:是伪并行,即看起来是同时运行.单个cpu+多道技术就可以实现
-
使用Python实现简单的服务器功能
socket接口是实际上是操作系统提供的系统调用.socket的使用并不局限于Python语言,你可以用C或者Java来写出同样的socket服务器,而所有语言使用socket的方式都类似(Apache就是使用C实现的服务器) Web框架就是提前写好了服务器.不能跨语言的使用框架.框架的好处在于帮你处理了一些细节,从而实现快速开发,但同时受到python本身性能的限制.我们已经看到,许多成功的网站都是利用动态语言(比如Python, Ruby或者PHP,比如twitter和facebook)快速
-
Python多进程入门、分布式进程数据共享实例详解
本文实例讲述了Python多进程入门.分布式进程数据共享.分享给大家供大家参考,具体如下: python多进程入门 https://docs.python.org/3/library/multiprocessing.html 1.先来个简单的 # coding: utf-8 from multiprocessing import Process # 定义函数 def addUser(): print("addUser") if __name__ == "__main__&qu
-
Python模拟登录的多种方法(四种)
正文 方法一:直接使用已知的cookie访问 特点: 简单,但需要先在浏览器登录 原理: 简单地说,cookie保存在发起请求的客户端中,服务器利用cookie来区分不同的客户端.因为http是一种无状态的连接,当服务器一下子收到好几个请求时,是无法判断出哪些请求是同一个客户端发起的.而"访问登录后才能看到的页面"这一行为,恰恰需要客户端向服务器证明:"我是刚才登录过的那个客户端".于是就需要cookie来标识客户端的身份,以存储它的信息(如登录状态). 当然,这也
-
python多进程控制学习小结
前言: python多进程,经常在使用,却没有怎么系统的学习过,官网上面讲得比较细,结合自己的学习,整理记录下官网:https://docs.python.org/3/library/multiprocessing.html multiprocessing简介 multiprocessing是python自带的多进程模块,可以大批量的生成进程,在服务器为多核CPU时效果更好,类似于threading模块.相对于多线程,多进程由于独享内存空间,更稳定安全,在运维里面做些批量操作时,多进程有更多适用
-
python 实现登录网页的操作方法
有些网页需要你登录之后才可以访问,你需要提供账户和密码. 只要在发送http请求时,带上含有正常登陆的cookie就可以了. 1.首先我们要先了解cookie的工作原理. Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用cookie).Cookie名称和值可以由服务器端开发自己定义,对于JSP而言也可以直接写入jsessionid
-
python多进程重复加载的解决方式
flask多进程会引起重复加载, 解决方法:把耗资源的加载挪到函数里面或者类里面,就不会重复加载资源了. 测试发现,不是flask引起的,是多进程会引起重复加载python文件. 把flask注释掉,也会重复加载. # autotrade/__init__.py # __init__.py 定义全局的app路由 # 然后将其他模块由app装饰后的函数导入,flask即可识别所有的请求入口 import time from flask import Flask from multiprocessi
随机推荐
- php双层循环(九九乘法表)
- BootStrap select2 动态改变值的方法
- IOS 开发APP之关于时间处理详细介绍
- ORACLE应用经验(1)
- Python的Django框架中模板碎片缓存简介
- 详解C# 匿名对象(匿名类型)、var、动态类型 dynamic
- C语言实现带头结点的链表的创建、查找、插入、删除操作
- C语言实现文件内容按行随机排列的算法示例
- php5中类的学习
- NodeJS Express框架中处理404页面一个方式
- 使用jquery实现鼠标滑过弹出更多相关信息层附源码下载
- javascript 有趣而诡异的数组
- js 取时间差去掉周六周日实现代码
- nodeType属性返回被选节点的节点类型介绍
- Java面向对象编程中final关键字的使用方法详解
- python+selenium+autoit实现文件上传功能
- 一个可携带附加消息的增强消息框MessageBoxEx
- PHP+iframe图片上传实现即时刷新效果
- 详解Android中weight的使用方法
- Android编程实现仿心跳动画效果的方法