[python]使用python进行LINUX系统操作

需求:在LINUX上做数据传输程序的时候,调试时经常强制中断服务器端程序,导致端口不能释放,下次启动服务器程序时就会端口被占而无法启动。通常是使用(list open file)lsof -i 6666来查看6666端口的程序信息,得到占用程序的PID后,再使用kill把它杀了。使用python脚本使得这样繁琐的工作变得十分简单。

import os
import sys
if len(sys.argv)>1:
    port=sys.argv[1]
else:
    port='6666'

tmp=os.popen('lsof -i:'+port).readlines()
cmd='kill '+tmp[1].split()[1]
os.system(cmd)

python里面有两种方法运行linux命令,都需要import os。第一种使用os.system(cmd),但此方法不能记录返回值,直接执行。第二使用(program open)os.popen(cmd).readlines(),返回值按行记录在一个list里。

使用sys.argv来查看脚本传递的参数。第一个参数固定为脚本的名称,因此我们传递的参数从sys.argv[1]开始。可以使用len(sys.argv)来检查有无传递额外参数。

posted @ 2013-08-22 15:09  iyjhabc  阅读(729)  评论(0编辑  收藏  举报