通过Python脚本理解系统进程

from socket import *

from time import ctime

import os,sys #sys定义了进程退出的方法

HOST='localhost'#定义主机

PORT=21567#定义端口号

BUFSIZ=1024#定义缓冲区

ADDR=(HOST,PORT)#定义元组

tcpSerSock=socket(AF_INET,SOCK_STREAM)#生成TCP Socket

tcpSerSock.bind(ADDR) #将该Socket与元组进行绑定

tcpSerSock.listen(5)#监听请求

while True: #定义无限循环(越来越像shell)

   print "waiting ...."

   try:# 在生成进程中有销毁tcpSerSock的字句,如果不捕获这个异常将会导致程序错误!

   tcpCliSock,addr=tcpSerSock.accept()

   except:#捕获所有异常

sys.exit(0)#只要捕获到阻塞失败将退出当前进程。(只有生成的进程才会导致阻塞失败,在生成进程中才有销毁tcpSerSock的字句)

   if os.fork():#如果在主进程中的操作

pass

   else:#如果在派生进程中的操作

       print 'con from :',addr

       while True:

           data=tcpCliSock.recv(BUFSIZ)

           if not data:

tcpSerSock.close()#销毁tcpSerSock

               break#跳出循环!

           tcpCliSock.send('[%s] %s' %(ctime(),data))

tcpSerSock.close()#这句永远不会被执行!

本文出自 “林肯” 博客,请务必保留此出处http://president.blog.51cto.com/4990508/1078402

时间: 2024-12-26 20:19:14

通过Python脚本理解系统进程的相关文章

通过Python脚本理解系统进程间通信

from socket import *  #导入socket包中的所有内容 from time import ctime #导入time包,同时在本地可使用ctime进行调用 import os,sys #导入os,sys包 HOST='localhost'#定义主机 PORT=21567#定义端口 BUFSIZ=1024 #定义缓冲区 ADDR=(HOST,PORT) #定义元组 tcpSerSock=socket(AF_INET,SOCK_STREAM)  #生成socket tcpSer

通过Python脚本理解系统线程

from socket import * HOST='localhost'#定义主机 ADDR=(HOST,PORT) #定义元组 tcpSerSock.listen(1) #监听用户请求 def client(tcpCliSock,num): #定义函数.由于thread强行要求调用的函数必须有两个参数.num只是充数,没有特别含义    CliSock=tcpCliSock #将传递进来的客户端socket赋值给CliSock    while True: #定义无限循环        da

分析用Python脚本关闭文件操作的机制

  这篇文章主要介绍了分析用Python脚本关闭文件操作的机制,作者分Python2.x版本和3.x版本两种情况进行了阐述,需要的朋友可以参考下 如果不用"with",那么Python会在何时关闭文件呢?答案是:视情况而定. Python程序员最初学到的东西里有一点就是可以通过迭代法很容易地遍历一个打开文件的全文: ? 1 2 3 f = open('/etc/passwd') for line in f: print(line) 注意上面的代码具有可行性,因为我们的文件对象"

编写Python脚本来获取mp3文件tag信息的教程

  这篇文章主要介绍了编写Python脚本来获取mp3文件tag信息的教程,代码基于Python2.x,文中的注释很详细,需要的朋友可以参考下 下面利用一个python的实例程序,来学习python.这个程序的目的就是分析出所有MP3文件的Tag信息并输出. import os # 导入os模块,提供文件路径,列出文件等方法 import sys # 导入sys模块,使用sys.modules获取模块中的所有内容,类似反射的功能 from UserDict import UserDict # 这

Linux集群和自动化维2.6 生产环境下的Shell和Python脚本分类

2.6 生产环境下的Shell和Python脚本分类 生产环境下的Shell和Python脚本的作用还是挺多的,这里根据2.1节所介绍的日常工作中Shell脚本的作用,将生产环境下的Shell脚本分为备份类.监控类.统计类.运维开发类和自动化运维类.前面3类从字面意义上看比较容易理解,后面的两类需要稍微解释一下,运维开发类脚本是利用Shell或Python实现一些非系统类的管理工作,比如SVN的发布程序等:而自动化运维类脚本则是利用Shell或Python来自动替我们做一些烦琐的工作,比如自动生

《面向ArcGIS的Python脚本编程》——1.7 Python脚本实例

1.7 Python脚本实例 面向ArcGIS的Python脚本编程 本节将通过两个例子来说明如何使用Python编写脚本.这两个例子来源于Esri和ArcGIS的用户社区.列举脚本实例的原因之一就是为了让读者熟悉Python代码.学习编写代码的一个最好的方法就是练习现有的代码.现在不要求读者能够理解这些代码,但是这些例子将会让您了解本书即将讲些什么. 例一:确定错误地址 AddressError脚本工具是由Esri公司的员工Bruce Harold开发的.该工具会在几条路段的范围内,检查路段中

使用Python脚本在Linux下实现部分Bash Shell的教程_python

对于Linux用户来说,命令行的名声相当的高.不像其他操作系统,命令行是一个可怕的命题,但是对于Linux社区中那些经验丰富的大牛,命令行却是最值得推荐鼓励使用的.通常,命令行对比图形用户界面,更能提供更优雅和更高效的解决方案. 命令行伴随着Linux社区的成长,UNIX shells,例如 bash和zsh,已经成长为一个强大的工具,也是UNIX shell的重要组成部分.使用bash和其他类似的shells,可以得到一些很有用的功能,例如,管道,文件名通配符和从文件中读取命令,也就是脚本.

《UNIX/Linux 系统管理技术手册(第四版)》——2.5 Python脚本编程

2.5 Python脚本编程 UNIX/Linux 系统管理技术手册(第四版) 随着项目变得越来越大.越来越复杂,面向对象的设计和实现所带来的好处,也就变得越来越清楚.Perl错过了大概5年时间,没有提供OO特性,虽然它后来又拼命去追赶,但Perl版的面向对象编程仍然显得有点儿牵强. 本节介绍Python 2.Python 3尚在开发之中,可能在本书没过时之前就能发布.但是和Perl 6不一样的是,它看上去更像是一种增量更新. 有着很强OO背景的工程师通常会喜欢Python和Ruby,这两种脚本

《面向ArcGIS的Python脚本编程》——1.2 Python的特点

1.2 Python的特点 面向ArcGIS的Python脚本编程Python的诸多特点使它可以作为ArcGIS的脚本语言,这些特点包括以下几方面. 简单且易学.相对于其他高度结构化的编程语言(C++或Visual Basic)而言,Python更容易被掌握.它的语法简单,编程者将有更多的时间来解决实际问题,而不需要在学习Python语言上耗费太多精力. 免费且开源.Python是一款免费并且开源的软件.用户可以自由地分发该软件的复本,查看和修改源代码,或者将其中一部分代码用在其他免费的程序里.