如何实现Python启动、停止脚本
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章给大家分享的是有关如何实现Python启动、停止脚本的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。#!/usr/bin/python# -*- coding: UT
千家信息网最后更新 2026年10月31日如何实现Python启动、停止脚本
这篇文章给大家分享的是有关如何实现Python启动、停止脚本的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
#!/usr/bin/python# -*- coding: UTF-8 -*-import platform,osimport timeimport subprocessimport sysimport ctypesdef get_sysinfo(): sys = platform.system() return os.getpid(),sys def get_path(): p=os.path.split(os.path.realpath(__file__)) # ('D:\\workspace\\python\\src\\mysql', 'dao.py') p=os.path.split(p[0]) if not p: os.mkdir(p) return p[0]def get_pid_path(): return get_path() +'/tmp/yqs.pid'def check_pid(pid = 0,osname=''): if pid is None or pid == 0: return False wincmd = 'tasklist /FI "PID eq %s" /FI "IMAGENAME eq python.exe "' % str(pid) lincmd = 'ps ax |grep %s |grep python' % str(pid) cmd,size = (wincmd,150) if osname=='Windows' else (lincmd,20) returnstr=subprocess.Popen(cmd,stdout=subprocess.PIPE,stderr=subprocess.PIPE, shell=True) data = returnstr.stdout.read() return len(data) > size def read_pid(): if os.path.exists(get_pid_path()): try: with open(get_pid_path(),'r') as f: strpid = f.readline().strip() return int(strpid) except Exception : return None return Nonedef rm_pid(): if os.path.exists(get_pid_path()): os.remove(get_pid_path()) def kill(pid): """kill function for Win32""" kernel32 = ctypes.windll.kernel32 handle = kernel32.OpenProcess(1, 0, pid) return (0 != kernel32.TerminateProcess(handle, 0)) def check_run(): pid,osname = get_sysinfo() if not os.path.exists(get_pid_path()): with open(get_pid_path(),'w') as f: f.write(str(pid)) return False ''' 开始检查 ''' rs = check_pid(read_pid(),osname) if not rs : with open(get_pid_path(),'w') as f: f.write(str(pid)) return rs class Control : def start(self): if check_run(): print 'pro has run' else : print 'pro start...' time.sleep(1000) def stop(self): filePid = read_pid() if filePid is not None and filePid > 0: print 'pro has kill %s' % filePid kill(filePid) rm_pid() else : print 'Process has closed' def check(self): filePid = read_pid() if not filePid or not check_run() : message = "Process has closed\n" sys.stderr.write(message) else : message = "The process has been run, the process id:%d\n" sys.stderr.write(message % filePid) def helpInfo(self): print "usage: start|stop|check|help" if __name__ == "__main__": contr=Control() if len(sys.argv) == 2: param = sys.argv[1] if 'start' == param: contr.start() elif 'stop' == param: contr.stop() elif 'check' == param: contr.check() elif 'help' == param: contr.helpInfo() else: print r"not yes cmd" sys.exit(2) else: print "usage: %s start|stop|check|help" % sys.argv[0]感谢各位的阅读!关于"如何实现Python启动、停止脚本"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
脚本
内容
更多
篇文章
不错
实用
文章
看吧
知识
UTF-8
参考
帮助
有关
检查
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技官网
厦门中拓互联网络科技有限公司
北京互联网科技公司
互联网科技logo
天扬科技互联网广告
互联网科技类展会
互联网科技素材视频竖屏
滨湖区互联网智能科技产品供应
佩信高科技互联网
互联网科技研发水平
国大互联网教育科技有限公司工作
玉溪新华互联网科技好不好
徐州市互联网科技有限公司
为客找房互联网科技公司怎么样
互联网领先科技宣传片
从那以后互联网科技有限公司
国产互联网科技公司
互联网科技博主张洲
数字科技和互联网金融哪个好
如何强化互联网金融科技
小米移动互联网科技园
深圳恒合互联网络科技有限公司
工业互联网科技新基建
互联网科技公司怎么样
有马互联网科技
互联网高科技企业
央行互联网金融科技公司
科技大学互联网
山东星卡互联网科技有限公司官网
图游互联网科技