公司项目用到需要开机自动执行相关程序,奈何shell不是很精通,老大给了段python版的,我也分享下,供大家参考
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
#!/usr/bin/env python
# init.d script for the Mytut CS Repo Server; John Wang 14 Feb 2011
import sys,subprocess,time
cmmd = '/home/fred/test.py'#启动/关闭执行命令
port = '12600'
decp = 'start process program....'
cmmdln = ['nohup',cmmd,'-p',port]
def start():
print 'Starting %s...' % decp
subprocess.Popen(cmmdln)
print 'Started'
def stop():
print 'Stopping %s...' % decp
subprocess.Popen(cmmdln)
print 'Stopped'
return 0
def restart():
if stop()==1:
print 'Stopping error. Maybe already stopped ?. starting anyway ...'
else:
time.sleep(1)
start()
def run(argv):
fns={
'start':start,
'stop':stop,
'restart':restart,
'reload':restart,
}
fn=fns.get(argv[1],None) if len(argv)>1 else None
if not fn:
print >> sys.stderr,"Usage: %s {%s}" % (argv[0],'|'.join(fns.keys()))
sys.exit()
fn()
if __name__ == '__main__':
run(sys.argv) |
比较简单~
前文介绍过,放在/etc/rc3.d 目录下即可,linux启动后会自动执行这个目录里面的脚本,默认使用start参数启动
近期评论