python运维服务器

来源:互联网 发布:最后的舞者 知乎 编辑:程序博客网 时间:2024/06/05 02:01

好久没有写东西了.一直做服务器开发需要写一些脚本来控制服务器的启动.本来Windows自带了任务计划,但不是特别方便,还是用python写了一下.

需求:在固定的时间启动服务器

先看源代码:

def start_process(date):cwd = os.getcwd();global list_threads;global iskill;iskill = False;for i in range(num_threads):  t=Thread(target=start_service,args=(cwd, date, process_name[i]));t.setDaemon(True);t.start();list_threads.append(t);time.sleep(0.1)time.sleep(1);def start_service(cwd, date, name):for (k,v) in process_condition.items():if (k == name):process_info = cwd+"\\"+k+" "+cwd+"\\"+v;try:p = subprocess.Popen(process_info, stdout=subprocess.PIPE);print "%s starts successful\n" % name;c = p.stdout.readline();while 1:#print cc=p.stdout.readline();p.stdout.flush();time.sleep(0.01)global iskill;if (iskill):print "now kill thread %s\n" % name;quit();break;except Exception, p:a = 0;sys.exit();

注意点有几个地方:

服务器需要输出日志,所以不能在一个线程,否则日志在python的缓冲区,太多后会无法写出.

0 0