#! /usr/bin/env python
 #coding=utf-8

 import sys
 import ConfigParser
 import urllib
 import urllib2
 from util import http_server
 from logger import logger
 import json
 import traceback
 import time

 reload(sys)
 sys.setdefaultencoding('utf-8')

 import os
 import signal

 Max_process = 2
 log_index = 0

 # start python program
 def start():
     global Max_process
     global log_index
     path = os.popen('pwd').readlines()[0]
     print path,'==='
     os.system('nohup python serverdate.py &')
     time.sleep(10)

 #stop child
 def stopChild():
     processInfo = os.popen("ps -ef|grep serverdate.py|grep -v grep|awk '{print $2}'").readlines()
     print processInfo,'------'
     for pid in processInfo:
         os.kill(int(pid),signal.SIGKILL)

 #stop parent
 def stopParent():
     parentList = os.popen("ps -ef|grep serverdate.py|grep -v grep|awk '{print $2}'").readlines()
     print parentList,'***'
     for pid in parentList:
         os.kill(int(pid),signal.SIGKILL)

 def stopAll():
     stopChild()
     stopParent()

 try:
     fun = sys.argv[1]
 except Exception:
     fun = ''
 if(fun == 'start'):
     start()
 if(fun == 'stop'):
     stopAll()
 if(fun == 'restart'):
     stopAll()
     time.sleep(10)
     start()

使用方法:python  serverdate.py start|stop|restart

Linux系统重启python程序的更多相关文章

  1. 在Linux系统如何让程序开机时自动启动

    在Linux系统如何让程序开机时自动启动      核心提示:系统的服务在开机时一般都可以自动启动,那在linux系统下如果想要程序在开机时自动启动怎么办?我们知道在 windows系统“开始”--& ...

  2. python多进程--------linux系统中python的os.fork()方法

    linux下python 创建子进程的原理: os.fork()方法 的原理 为了实现并发.多任务,我们可以在主程序种开启一个进程或者线程.在类unix操作系统当中(非windows),可以用pyth ...

  3. 举例讲解Linux系统下Python调用系统Shell的方法

    有时候难免需要直接调用Shell命令来完成一些比较简单的操作,比如mount一个文件系统之类的.那么我们使用Python如何调用Linux的Shell命令?下面来介绍几种常用的方法:1. os 模块 ...

  4. linux系统下Python虚拟环境的安装和使用

    前言:进行python项目开发的时候,由于不同的项目需要使用不同的资源包和相关的配置,因此创建多个python虚拟环境,在虚拟环境下开发就显得很有必要. 安装虚拟环境 步骤: 打开Linux终端(快捷 ...

  5. Linux系统重启network服务失败

    问题描述 使用KVM通过修改配置文件配置好网卡IP,使用命令行service network restart 重启网络服务失败. 如图: 使用图形化管理工具配置IP,在系统界面右上角可以看到网卡状态为 ...

  6. Linux系统下的程序开发之:命名规范

    2016年12月13日16:19:53 ------------------------------- 不能使用类似驼峰法的命名文件:dingdanOrder.html 这样的命名,会让系统无法找到目 ...

  7. linux系统下c程序分多文件实现

    对于一个整数数组排序,按从小到大排序,数组元素个数不定.要求多文件实现 1,排序的函数作为一个文件 输出结果作为一个程序 主函数作为一个文件 运行程序 gcc -o main main.c paixu ...

  8. linux系统使用python监测网络接口获取网络的输入输出

    #!/usr/bin/env Pythonimport timeimport sys if len(sys.argv) > 1: INTERFACE = sys.argv[1]else: INT ...

  9. 云服务器 ECS Linux 系统 CPU 占用率较高问题排查思路

    https://help.aliyun.com/knowledge_detail/41225.html?spm=5176.7841174.2.2.ifP9Sc 注意:本文相关配置及说明已在 CentO ...

随机推荐

  1. Netty实现高性能RPC服务器优化篇之消息序列化

    在本人写的前一篇文章中,谈及有关如何利用Netty开发实现,高性能RPC服务器的一些设计思路.设计原理,以及具体的实现方案(具体参见:谈谈如何使用Netty开发实现高性能的RPC服务器).在文章的最后 ...

  2. MySQL 性能调优之查询优化

    见原文: http://www.cnblogs.com/markjiao/p/5665775.html

  3. C6000代码层面优化(一)

    2014年8月7日,看了一片很长见识的博文,关于DSP如何优化的,有一个问题没有搞通,“百度”一下关键字,居然搜查了一模一样的博文N片,现在也搞不懂这篇博文的原创作者是谁了.反正我感觉直接转摘过去,要 ...

  4. mac os 下打开FTP服务器

    mac下一般用smb服务来进行远程文件访问,但要用FTP的话,高版本的mac os默认关掉了,可以用如下命令打开: sudo -s launchctl load -w /System/Library/ ...

  5. linux中socket的理解

    对linux中socket的理解 一.socket 一般来说socket有一个别名也叫做套接字. socket起源于Unix,都可以用“打开open –> 读写write/read –> ...

  6. BZOJ4551: [Tjoi2016&Heoi2016]树

    Description 在2016年,佳媛姐姐刚刚学习了树,非常开心.现在他想解决这样一个问题:给定一颗有根树(根为1),有以下 两种操作:1. 标记操作:对某个结点打上标记(在最开始,只有结点1有标 ...

  7. 前端Html+Css——豆蔻年华(自学一个月)

    详细见千万别碰我--燕十三 html .htm .shtml三者区别是什么 1..htm与.html没有本质上的区别,表示的是同一种文件,只是适用于不同的环境之下. 2.DOS仅能识别8+3的文件名, ...

  8. velocity学习记录

    一.引入文件 静态引入:#include("./footer.vm.html") 动态引入:#parse("./header.vm.html") 说明:./为v ...

  9. is_user_logged_in()

    function is_user_logged_in() { $user = wp_get_current_user(); return $user->exists(); } wp_get_cu ...

  10. (2)jni编程学习笔记

    先说说NDK和jni的关系吧,这两个看起来挺容易搞混的 我到网上也查了一些资料: java的jni提供了一个调用c语言函数的接口,其实就是一个java函数,这个函数没有任何内容,这个函数调用时直接进入 ...