Chinaunix首页 | 论坛 | 博客
  • 博客访问: 390036
  • 博文数量: 58
  • 博客积分: 2941
  • 博客等级: 少校
  • 技术积分: 970
  • 用 户 组: 普通用户
  • 注册时间: 2005-12-21 11:37
文章分类

全部博文(58)

文章存档

2015年(1)

2014年(1)

2012年(1)

2011年(19)

2009年(1)

2008年(1)

2007年(11)

2006年(10)

2005年(13)

分类: Python/Ruby

2011-04-07 14:54:56

以下两个脚本我分别用SHELLPYTHON编写,功能相同。

SHELL

 

  1. #!/bin/sh



  2. P_1=”nginx”

  3. P_2=”mysqld_safe”



  4. #获取进程ID方法

  5. processIDget(){

  6. process=(`ps –ef |grep –i “$1” |grep –v grep |awk ‘{print $2}’`)



  7. if [ “${process[*]}!= “” ]

  8. then

  9.        num=${#process[*]}

  10.        for ((i=0;i<$num;i++))

  11.        do

  12.        echo –ne “$1(${process[$i]}\t))

  13.        done

  14.        echo

  15. else

  16.        echo –e ne “$1(服务未启)\t”

  17.        echo

  18. fi

  19. }



  20. #开始获取进程ID

  21. echo –e “192.168.0.1(该有1个$P_1,$P2进程)

  22. processIDget $P_1

  23. processIDget $P_2

 

 

 

 

 

PYTHON

 

  1. #!/usr/bin/env python

  2. # -*- coding:iso-8859-15 -*-



  3. import os



  4. P_1 = “nginx”

  5. P_2 = mysqld_safe”

  6. P = []

  7. p.append(P_1)

  8. p.append(P_2)



  9. print “192.168.0.1(该有1个%s,1个%s进程)%(P_1,P_2)

  10. for I in p:

  11.        prcs = os.popen(“ps –ef |grep %s | grep –v”%i).readlines()

  12.        if not prcs:

  13.               print I + “:服务未启”

  14.        else:

  15.               for x in prcs:

  16.                      pid = []

  17.                      pid = x.strip(“\n”).strip().split()[1]

  18.                      print I +:+(+pid +)
阅读(1086) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~