文档章节

python多线程

eddy_linux
 eddy_linux
发布于 2015/11/16 20:27
字数 639
阅读 12
收藏 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
粉丝 21
博文 135
码字总数 188789
作品 0
成都
程序员
私信 提问
(转载)Python进阶:聊聊IO密集型任务、计算密集型任务,以及多线程、多进程 - 笑虎的文章 - 知乎

Python进阶:聊聊IO密集型任务、计算密集型任务,以及多线程、多进程 - 笑虎的文章 - 知乎 https://zhuanlan.zhihu.com/p/24283040 Python进阶:聊聊IO密集型任务、计算密集型任务,以及多线...

avatus
09/05
0
0
python GIL与伪多线程

https://blog.csdn.net/B9Q8e64lO6mm/article/details/81031283 为什么有人会说 Python 多线程是鸡肋?知乎上有人提出这样一个问题,在我们常识中,多进程、多线程都是通过并发的方式充分利用...

ka_ko
09/22
0
0
python爬虫实战,干翻一个网站,爬取资源链接并用多线程下载!

其实说是这样说,不过我觉得如果不是有什么特殊用处就不要去下载了,毕竟一个视频就占那么大的内存,爬好链接地址就可以了。当然如果你是要爬那种网站,那么下载一点点备用我也能够理解。 需...

Python新世界
07/30
0
0
python高性能编程--002--全局解释器锁GIL

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

Ryan_snow
06/26
0
0
为什么有人说 Python 多线程是鸡肋?

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

刘志军
05/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

java.util.concurrent.atomic.AtomicLong 源码

类图: 源码: package java.util.concurrent.atomic;import java.util.function.LongUnaryOperator;import java.util.function.LongBinaryOperator;import sun.misc.Unsafe;......

狼王黄师傅
16分钟前
1
0
Java每天10道面试题,跟我走,offer有!(六)

51.HashMap的实现原理 HashMap的主干是一个Entry数组。Entry是HashMap的基本组成单元,每一个Entry包含一个key-value键值对。HashMap基于hashing原理,我们通过put()和get()方法储...

Java干货分享
22分钟前
1
0
剧调查黑客偏爱用 Python,可能是世界上最好的语言

导读 Python 变得越来越流行,在之前 9 月份的 TIOBE 排行榜中,Python 甚至挤下 C++,拿到第三名。而这有一部分原因应当归于黑客对 Python 的热衷。 据 Threatpost 报导,在 Imperva 最近一...

问题终结者
27分钟前
1
0
apollo生产环境配置-实践笔记(附搭建框架图)

前言 我们这个月上线了apollo1.1.1版本(生产环境),目前一切运行良好,故在此记个笔记。 首先,附上流程图: 简要介绍 一套apollo portal配置管理服务来同时管理pro、dev环境,但pro、dev...

开源小菜鸟2333
29分钟前
3
0
angular6 利用 ngContentOutlet 实现组件位置交换

这篇文章主要介绍了angular6 利用 ngContentOutlet 实现组件位置交换(重排),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 ngContentOutlet指令介绍 ngCont...

嫣然丫丫丫
36分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部