文档章节

python多线程

eddy_linux
 eddy_linux
发布于 2015/11/16 20:27
字数 639
阅读 12
收藏 0
点赞 0
评论 0
#!/usr/bin/env python
# encoding: utf-8
#  17.51/52:
#
import os
import threading
import sys
def execCmd(cmd):
    try:
        os.system(cmd)
    except Exception, e:
        print '%s\t 运行失败,失败原因\r\n%s' % (cmd,e)

if __name__ == '__main__':
    start_cmds = [
#            ' su - tomcat -c "/data/program/payment/payment-ac/bin/start.sh" ',
#            ' su - tomcat -c "/data/program/payment/payment-account/bin/start.sh" ',
#            ' su - tomcat -c "/data/program/payment/payment-agent/bin/start.sh" ',
#            ' su - tomcat -c "/data/program/payment/payment-ams/bin/start.sh" ',
#            ' su - tomcat -c "/data/program/payment/payment-business/bin/start.sh" ',
#            ' su - tomcat -c "/data/program/payment/payment-channel/bin/start.sh" ',
#            ' su - tomcat -c "/data/program/payment/payment-channel-ota/bin/start.sh" ',
#            ' su - tomcat -c "/data/program/payment/payment-channel-realnameAuth/bin/start.sh" ',
#            ' su - tomcat -c "/data/program/payment/payment-cm/bin/start.sh" ',
#            ' su - tomcat -c "/data/program/payment/payment-cms/bin/start.sh" ',
#            ' su - tomcat -c "/data/program/payment/payment-fastdfs/bin/start.sh" ',
#            ' su - tomcat -c "/data/program/payment/payment-mas/bin/start.sh" ',
#            ' su - tomcat -c "/data/program/payment/payment-order/bin/start.sh" ',
#            ' su - tomcat -c "/data/program/payment/payment-pe/bin/start.sh" ',
#            ' su - tomcat -c "/data/program/payment/payment-pss/bin/start.sh" ',
#            ' su - tomcat -c "/data/program/payment/payment-rcs/bin/start.sh" ',
#            ' su - tomcat -c "/data/program/payment/payment-route/bin/start.sh" ',
#            ' su - tomcat -c "/data/program/payment/payment-security/bin/start.sh" ',
#            ' su - tomcat -c "/data/program/payment/payment-settle/bin/start.sh" ',
#            ' su - tomcat -c "/data/program/payment/payment-tasks/bin/start.sh" ',
        ]
    stop_cmds = [
#            ' su - tomcat -c "/data/program/payment/payment-ac/bin/stop.sh" ',
#            ' su - tomcat -c "/data/program/payment/payment-account/bin/stop.sh" ',
#            ' su - tomcat -c "/data/program/payment/payment-agent/bin/stop.sh" ',
#            ' su - tomcat -c "/data/program/payment/payment-ams/bin/stop.sh" ',
#            ' su - tomcat -c "/data/program/payment/payment-business/bin/stop.sh" ',
#            ' su - tomcat -c "/data/program/payment/payment-channel/bin/stop.sh" ',
#            ' su - tomcat -c "/data/program/payment/payment-channel-ota/bin/stop.sh" ',
#            ' su - tomcat -c "/data/program/payment/payment-channel-realnameAuth/bin/stop.sh" ',
#            ' su - tomcat -c "/data/program/payment/payment-cm/bin/stop.sh" ',
#            ' su - tomcat -c "/data/program/payment/payment-cms/bin/stop.sh" ',
#            ' su - tomcat -c "/data/program/payment/payment-fastdfs/bin/stop.sh" ',
#            ' su - tomcat -c "/data/program/payment/payment-mas/bin/stop.sh" ',
#            ' su - tomcat -c "/data/program/payment/payment-order/bin/stop.sh" ',
#            ' su - tomcat -c "/data/program/payment/payment-pe/bin/stop.sh" ',
#            ' su - tomcat -c "/data/program/payment/payment-pss/bin/stop.sh" ',
#            ' su - tomcat -c "/data/program/payment/payment-rcs/bin/stop.sh" ',
#            ' su - tomcat -c "/data/program/payment/payment-route/bin/stop.sh" ',
#            ' su - tomcat -c "/data/program/payment/payment-security/bin/stop.sh" ',
#            ' su - tomcat -c "/data/program/payment/payment-settle/bin/stop.sh" ',
#            ' su - tomcat -c "/data/program/payment/payment-tasks/bin/stop.sh" ',
        ]
        status_cmds = [
    #            ' ps -ef | grep "/data/program/payment/payment-ac" ',
    #            ' ps -ef | grep "/data/program/payment/payment-account" ',
    #            ' ps -ef | grep "/data/program/payment/payment-agent" ',
    #            ' ps -ef | grep "/data/program/payment/payment-ams" ',
    #            ' ps -ef | grep "/data/program/payment/payment-business" ',
    #            ' ps -ef | grep "/data/program/payment/payment-channel" ',
    #            ' ps -ef | grep "/data/program/payment/payment-channel-ota" ',
    #            ' ps -ef | grep "/data/program/payment/payment-channel-realnameAuth" ',
    #            ' ps -ef | grep "/data/program/payment/payment-cm" ',
    #            ' ps -ef | grep "/data/program/payment/payment-cms" ',
    #            ' ps -ef | grep "/data/program/payment/payment-fastdfs" ',
    #            ' ps -ef | grep "/data/program/payment/payment-mas/bin" ',
    #            ' ps -ef | grep "/data/program/payment/payment-order" ',
    #            ' ps -ef | grep "/data/program/payment/payment-pe/bin" ',
    #            ' ps -ef | grep "/data/program/payment/payment-pss" ',
    #            ' ps -ef | grep "/data/program/payment/payment-rcs" ',
    #            ' ps -ef | grep "/data/program/payment/payment-route" ',
    #            ' ps -ef | grep "/data/program/payment/payment-security" ',
    #            ' ps -ef | grep "/data/program/payment/payment-settle" ',
    #            ' ps -ef | grep "/data/program/payment/payment-tasks" ',
            ]
    if sys.argv[1] == 'start':
        threads = []
        for cmd in start_cmds:
            th = threading.Thread(target=execCmd, args=(cmd,))
            th.start()
            threads.append(th)
            for th in threads:
                th.join()
    elif sys.argv[1] == 'stop':
        threads = []
        for cmd in stop_cmds:
            th = threading.Thread(target=execCmd, args=(cmd,))
            th.start()
            threads.append(th)
            for th in threads:
                th.join()
    elif sys.argv[1] == 'status':
        threads = []
        for cmd in status_cmds:
            th = threading.Thread(target=execCmd, args=(cmd,))
            th.start()
            threads.append(th)
            for th in threads:
                th.join()
    elif sys.argv == '-h':
        print 'python 17_improper_update.py start|stop|status'
    else:
        print 'python 17_improper_update.py start|stop|status'


© 著作权归作者所有

共有 人打赏支持
eddy_linux
粉丝 18
博文 135
码字总数 188789
作品 0
成都
程序员
python高性能编程--002--全局解释器锁GIL

一、GIL基本概念 1.GIL即为gloabl interpreter lock,全局解释器锁。这个东西是在python解释器之一的cpython中引入的一个概念,因为我们现在常用的python解释器就是cpython这个解释器,故而G...

Ryan_snow
06/26
0
0
理解 Python 中的多线程

我们将会看到一些在 Python 中使用线程的实例和如何避免线程之间的竞争。 你应当将下边的例子运行多次,以便可以注意到线程是不可预测的和线程每次运行出的不同结果。声明:从这里开始忘掉你...

大数据之路
2013/11/27
0
0
想用 Python 找到一份好工作?这4种工作最热门!

身边有不少朋友最近都开始学习python,大多都在学了一两个月之后来问小编,我现在已经入行了,能去找什么样的工作呢? 小编只能说: 入行!=找工作 那么,自学python的人,如何才能找到满意的工...

python达人
05/16
0
0
为什么有人说 Python 多线程是鸡肋?

为什么有人会说 Python 多线程是鸡肋?知乎上有人提出这样一个问题,在我们常识中,多进程、多线程都是通过并发的方式充分利用硬件资源提高程序的运行效率,怎么在 Python 中反而成了鸡肋? ...

刘志军
05/04
0
0
最新阿里巴巴面试题(附带面试标准答案)

在上一节中,我们已经介绍了关于阿里巴巴的任职要求,这节我就详细的介绍一下关于阿里巴巴的面试题(涉及到标准代码部分不予以出现,如果想要可以加群:725479218,里面可以进行技术分享、技术...

柯西带你学编程
06/02
0
0
酷! 给python脚本配一个动画界面

python黑乎乎的命令行输出太乏味了。本篇用pyui4win开发一个有动画界面的python执行程序。 当用户选择执行时,动画开启,开始转圈,直到python功能函数执行完成。在执行过程中,界面上的信息...

编码的风景
2013/08/26
0
0
Python RPC 远程调用脚本之 RPyC 实践

最近有个监控需求,需要远程执行集群每个节点上的脚本,并获取脚本执行结果,为了安全起见不需要账号密码登陆节点主机,要求只需要调用远程脚本模块的方法就能实现。 总结下python进行远程调...

大数据之路
2015/06/28
0
0
Python怎么利用多核cpu

原文链接http://www.cnblogs.com/stubborn412/p/4033651.html def dead_loop(): def dead_loop(): {void DeadLoop() { while (true); } } from threading import Thread lib = cdll.LoadLibr......

dby_freedom
05/06
0
0
Python 进程线程协程 GIL 闭包 与高阶函数(五)

1 GIL线程全局锁 线程全局锁(Global Interpreter Lock),即Python为了保证线程安全而采取的独立线程运行的限制,说白了就是一个核只能在同一时间运行一个线程.对于io密集型任务,python的多线程...

善良小郎君
06/20
0
0
Python通过代理多线程抓取图片

Python作为一门功能强大的脚本语言,经常被用来写爬虫程序,下面是Python通过代理多线程抓取图片代码 Python爬虫多线程抓取代理服务器参考:http://www.linuxeye.com/program/1763.html 说明...

lj2007331
2013/07/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

CoreText进阶(七)-添加自定义View和对其

CoreText进阶(七)-添加自定义View和对其 其它文章: CoreText 入门(一)-文本绘制 CoreText入门(二)-绘制图片 CoreText进阶(三)-事件处理 CoreText进阶(四)-文字行数限制和显示更多...

aron1992
15分钟前
0
0
Python爬虫 爬取百合网的女人们和男人们

学Python也有段时间了,目前学到了Python的类。个人感觉Python的类不应称之为类,而应称之为数据类型,只是数据类型而已!只是数据类型而已!只是数据类型而已!重要的事情说三篇。 据书上说...

p柯西
26分钟前
0
0
在Java中,你真的会日期转换吗

1.什么是SimpleDateFormat 在java doc对SimpleDateFormat的解释如下: SimpleDateFormatis a concrete class for formatting and parsing dates in a locale-sensitive manner. It allows fo......

Java小铺
35分钟前
0
0
Linux系统梳理---系统搭建(二):tomcat的安装和使用

上一章讲到JDK的安装使用,这一章主要记录下服务器tomcat的安装以及部署一个项目. 1.下载tomcat,这里下载的是apache-tomcat-8.5.32.tar.gz 2.创建文件夹,便于管理,和JDK一样,在usr目录下创建t...

勤奋的蚂蚁
46分钟前
0
0
ES15-聚合

1.Terms Aggregation 分组聚合 2.Filter Aggregation 过滤聚合

贾峰uk
47分钟前
0
0
【2018.07.19学习笔记】【linux高级知识 20.27-20.30】

20.27 分发系统介绍 20.28 expect脚本远程登录 20.29 expect脚本远程执行命令 20.30 expect脚本传递参数

lgsxp
49分钟前
0
0
10.32/10.33 rsync通过服务同步~10.35 screen工具

通过服务的方式同步要编辑配置文件:[root@linux-xl ~]# vim /etc/rsyncd.confport=873log file=/var/log/rsync.logpid file=/var/run/rsyncd.pidaddress=192.168.43.21[tes...

洗香香
53分钟前
0
0
与女儿谈商业模式 (3):沃尔玛的成功模式

分类:与女儿谈商业模式 | 标签: 经济学 沃尔玛 陈志武 2007-05-10 09:09阅读(11279)评论(30) 与女儿谈商业模式 (3):沃尔玛的成功模式 陈志武 /文 沃尔玛(Wal-Mart)是另一个有意思的财...

祖冲之
59分钟前
0
0
网页加载速度优化方法总结

1、减少请求 最大的性能漏洞就是一个页面需要发起几十个网络请求来获取诸如样式表、脚本或者图片这样的资源,这个在相对低带宽和高延迟的移动设备连接上来说影响更严重。 2、整合资源 对开发...

Jack088
今天
0
0
dubbo学习

https://blog.csdn.net/houshaolin/article/details/76408399

喵五郎
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部