iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python - 利用python编写的
  • 309
分享到

Python - 利用python编写的

Pythonpython 2023-01-31 00:01:42 309人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

memcached作为缓存文件服务,默认是操作系统里面是可以直接yum -y install memcached进行安装的。/etc/init.d/memcached 是属于系统shell编写的管理脚本,下面这个脚本是python脚本编写出

memcached作为缓存文件服务,默认是操作系统里面是可以直接yum -y install memcached进行安装的。

/etc/init.d/memcached 是属于系统shell编写的管理脚本,下面这个脚本是python脚本编写出来的memcached管理脚本,和shell编写的脚本实现的效果一样。

#!/usr/bin/Python

import sys
import os
from subprocess import Popen,PIPE

class Process(object):
    '''meMached rc script'''
    args = {'USER':'memcached',
            'PORT':11211,
            'MAXCONN':1024,
            'CACHESIZE':64,
            'OPTioN':''}

    def __init__(self,name,program,workdir):
        self.name = name
        self.program = program
        self.workdir = workdir

    def _init(self):
        '''/var/tmp/memcached'''
        if not os.path.exists(self.workdir):
            os.mkdir(self.workdir)
            os.chdir(self.workdir)

    def _pidFile(self):
        '''/var/tmp/memcached/memcached.pid'''
        return os.path.join(self.workdir, "%s.pid" % self.name)

    def _writePid(self):
        if self.pid:
            with open(self._pidFile(),'w') as fd:
                fd.write(str(self.pid))


    def _readConf(self,f):
        with open(f) as fd:
            lines = fd.readlines()
            return dict([ i.strip().replace('"','').split('=')  for i in lines])

    def _parseArgs(self):
        conf = self._readConf('/etc/sysconfig/memcached')             
        if 'USER' in conf:
            self.args['USER'] = conf['USER']
        if 'PORT' in conf:
            self.args['PORT'] = conf['PORT']
        if 'MAXCONN' in conf:
            self.args['MAXCONN'] = conf['MAXCONN']
        if 'CACHESIZE' in conf:
            self.args['CACHESIZE'] = conf['CACHESIZE']
        options = ['-u',self.args['USER'],
                   '-p',self.args['PORT'],
                   '-m',self.args['CACHESIZE'],
                   '-c',self.args['MAXCONN']]
        os.system("chown %s %s" % (self.args['USER'],self.workdir))
        return options

    def start(self):
        pid = self._getPid()
        if pid:
            print "%s is running..." % self.name
            sys.exit()
        self._init()
        cmd = [self.program] + self._parseArgs() + ['-d','-P',self._pidFile()]
        p = Popen(cmd,stdout=PIPE)
        #self.pid = p.pid
        #self._writePid()
        print "%s start Sucessful \t\t [OK]" % self.name

    def _getPid(self):
        p = Popen(['pidof',self.name],stdout=PIPE)
        pid = p.stdout.read().strip()
        return pid

    def stop(self):
        pid = self._getPid()
        if pid:
            os.kill(int(pid),15)
            if os.path.exists(self._pidFile()):
                os.remove(self._pidFile())
            print "%s is stopped \t\t\t [OK]" % self.name

    def restart(self):
        self.stop()
        self.start()
        

    def status(self):
        pid = self._getPid()
        if pid:
            print "%s is already running" % self.name
        else:
            print "%s is not running" % self.name

    def help(self):
        print "Usage:%s {start|stop|status|restart|} " % __file__

    
def main():
    name = 'memcached'
    prog = '/usr/bin/memcached'
    args = '-u nobody -p 11211 -c 1024 -m 64' 
    wd = '/var/tmp/memcached'
    pm = Process(name = name,
                 program = prog,
                 workdir = wd)
    try:
        cmd = sys.argv[1]
    except IndexError,e:
        print "Option error"
        sys.exit()
    if cmd == 'start':
        pm.start()
    elif cmd == 'stop':
        pm.stop()
    elif cmd == 'restart':
        pm.restart()
    elif cmd == 'status':
        pm.status()
    else:
        pm.help()

if __name__ == '__main__':
    main()


--结束END--

本文标题: Python - 利用python编写的

本文链接: https://www.lsjlt.com/news/183018.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python - 利用python编写的
    memcached作为缓存文件服务,默认是操作系统里面是可以直接yum -y install memcached进行安装的。/etc/init.d/memcached 是属于系统shell编写的管理脚本,下面这个脚本是python脚本编写出...
    99+
    2023-01-31
    Python python
  • 利用Python编写个有趣的记仇本
    目录记仇本展示brython 之 local_storage制作项目总结最近背着老婆买了一个switch卡带,这货居然给丈母娘讲,害得我被丈母娘说还小了,不买奶粉买游戏,太气人了,我...
    99+
    2023-05-16
    Python编写记仇本 Python记仇本
  • 利用Python编写数字战舰游戏
    本篇内容主要讲解“利用Python编写数字战舰游戏”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“利用Python编写数字战舰游戏”吧!前言制造多艘战舰:你需要小心,因为你需要确保你不要在战斗板上...
    99+
    2023-06-02
  • 利用Python编写linux自动备份脚
    题目:  周末的时候帮朋友写了一个备份需求的脚本,现在整理一下,分享出来使用Python语言的Fabric模块,这里就不扫盲了,运维必用的Python模块;  大概要求:    公司需求,每天凌晨2点备份数据(数据量不大,每天全备),拷贝至...
    99+
    2023-01-31
    自动备份 Python linux
  • 利用Python编写的实用运维脚本分享
    目录1. 执行外部程序或命令2. 文件和目录操作(命名、删除、拷贝、移动等)3. 创建和解包归档文件参考Python在很大程度上可以对shell脚本进行替代。笔者一般单行命令用she...
    99+
    2024-04-02
  • 利用Python编写本地音乐播放器
    先上完整代码: 修改文件夹路径即可运行 # -*- encoding: utf-8 -*- ''' @Description:       : @Date     :2022/03/...
    99+
    2024-04-02
  • 利用Python编写个冷笑话生成器
    目录导语开发工具环境搭建原理简介效果展示导语 带大家写个冷笑话生成器吧,感觉蛮有意思的。 废话不多说,让我们愉快地开始吧~ 开发工具 Python版本:3.7.8 相关模块: pyq...
    99+
    2024-04-02
  • 如何利用Python编写Django文件中的算法?
    Python是一种高级编程语言,Django是一个基于Python的Web框架。Django框架提供了一些强大的工具和库,可以帮助开发者快速搭建Web应用程序。在这篇文章中,我们将探讨如何使用Python编写Django文件中的算法。 一、...
    99+
    2023-06-21
    文件 django 编程算法
  • 利用Python编写一个简单的缓存系统
    目录项目展示不用落地的缓存系统系统应该如何实现铺垫python字典基本操作定义一个不用落地的缓存系统数据如何落地将对象保存到磁盘将对象从磁盘中导入到内存中将数据落地和缓存系统结合起来...
    99+
    2023-05-16
    Python实现缓存系统 Python缓存系统 Python缓存
  • 利用Python编写一个记忆翻牌游戏
    目录导语开发工具环境搭建先睹为快原理简介导语 昨天看到有留言竟然说我是月更博主,我明明更新地这么勤快(心虚.jpg)。看吧,昨天刚更新过,今天又来更新了。 今天还是带大家写个小游戏吧...
    99+
    2024-04-02
  • 利用Python编写简易的录制屏幕小工具
    目录1、准备2、代码由于最近测试需要录制系统界面的操作过程,因为都是全屏的操作,所以用python做一个简单的录屏小工具。 实现过程也是比较简单,就是通过对屏幕操作进行不断的截图,最...
    99+
    2024-04-02
  • 用python编写一个小程序,如何用python编写软件
    大家好,给大家分享一下用python编写一个小程序,很多人还不知道这一点。下面详细解释一下。现在让我们来看看! 1、python可以写手机应用程序吗? 我想有人曲解意思了,人家说用python开发渣蔽一个手机app,不是说用手机敲写py...
    99+
    2023-10-22
    python
  • 利用JavaScript编写Python内置函数查询工具
    目录一、程序效果展示二、程序编写过程最近在学习Python语言,Python有丰富的内置函数实现各种功能,但查询内置函数时总是需要百度查,有没有一个小工具可以单机无网络查询Pytho...
    99+
    2023-02-15
    JavaScript编写Python内置函数查询工具 JavaScript Python函数查询 JavaScript函数查询
  • 如何利用Python编写本地音乐播放器
    这篇文章主要为大家展示了“如何利用Python编写本地音乐播放器”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何利用Python编写本地音乐播放器”这篇文章吧。先上完整代码:修改文件夹路径即可...
    99+
    2023-06-29
  • 用python编写用户登录界面,用python编写登录程序
    大家好,小编为大家解答用python编写用户登录界面的问题。很多人还不知道用python编写登录程序,现在让我们一起来看看吧! 1、想用python编写一个脚本,登录网页,在网页里做一系列操作,应该怎样实现 python编写一个脚本的腊...
    99+
    2023-09-30
    网络
  • 利用Python编写一个闹钟,治好你的拖延症
    目录导语 一、小科普1)time 模块2)messagebox模块二、准备中1)环境安装2)素材(音乐+背景可修改)三、开始敲代码1)导入模块2)界面设置3)获取当前实时时...
    99+
    2024-04-02
  • 如何利用Python和JavaScript编写高效的日志系统?
    日志系统是一个很重要的组件,它可以帮助我们监控和诊断应用程序的运行情况。Python和JavaScript是两个流行的编程语言,它们都有很好的日志库,如Python的logging模块和JavaScript的console对象。在本文中,我...
    99+
    2023-08-16
    javascript 日志 编程算法
  • 如何利用 Python 编写文件操作的学习笔记?
    Python 是一门强大的编程语言,它可以用于各种任务,包括文件操作。在本文中,我们将介绍如何利用 Python 编写文件操作的学习笔记。 一、Python 文件操作的基础知识 在 Python 中,我们可以使用内置的 open() 函数来...
    99+
    2023-11-14
    文件 学习笔记 关键字
  • Python 之vim编写python自
    Pydiction :vim - python自动补全插件插件的安装如下:1.下载插件包https://github.com/vim-scripts/Pydiction 可以直接下载,也可git下载 [root@localhost ~]# ...
    99+
    2023-01-31
    Python vim python
  • mac使用vim编写Python
    1)打开终端,输入cd + 文件夹路径 链接到你要创建的py文件路径 2)输入 vim hello.py 使用vim命令新建hello.py文件,按 i 进入编辑模式 3)输入自己的代码#!/usr/bin/env python3 p...
    99+
    2023-01-31
    mac vim Python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作