Update task_manager_index.py

pull/586/head
Mr Chen 11 months ago
parent 44d529d32f
commit c83b2d5bc5
  1. 43
      plugins/task_manager/task_manager_index.py

@ -1221,7 +1221,7 @@ class mainClass(object):
def remove_service(self, get):
if not 'serviceName' in get:
return mw.returnData(False,'缺少参数');
serviceName = get['serviceName']
if serviceName == 'mw': return mw.returnData(False, '不能通过面板结束面板服务!')
systemctl_user_path = '/usr/lib/systemd/system/'
@ -1245,6 +1245,44 @@ class mainClass(object):
if os.path.exists(filename): os.remove(filename)
return mw.returnData(True, '删除成功!')
# 外部接口,设置软件运行环境,不能设置0,6
def set_runlevel_state(self, get):
if not 'runlevel' in get:
return mw.returnData(False,'缺少参数[runlevel]')
if not 'serviceName' in get:
return mw.returnData(False,'缺少参数[serviceName]')
runlevel = get['runlevel']
serviceName = get['serviceName']
if runlevel == '0' or runlevel == '6':
return mw.returnData(False,'为安全考虑,不能通过面板直接修改此运行级别')
systemctl_user_path = '/usr/lib/systemd/system/'
systemctl_run_path = '/etc/systemd/system/multi-user.target.wants/'
if os.path.exists(systemctl_user_path + get.serviceName + '.service'):
runlevel = mw.execShell('runlevel')[0].split()[1]
if get.runlevel != runlevel:
return mw.returnData(False,'Systemctl托管的服务不能设置非当前运行级别的状态')
action = 'enable'
if os.path.exists(systemctl_run_path + serviceName + '.service'):
action = 'disable'
mw.execShell('systemctl ' + action + ' ' + serviceName + '.service')
return mw.returnData(True, '设置成功!')
rc_d = '/etc/rc' + runlevel + '.d/'
import shutil
for d in os.listdir(rc_d):
if d[3:] != serviceName: continue
sfile = rc_d + d
c = 'S'
if d[:1] == 'S': c = 'K'
dfile = rc_d + c + d[1:]
shutil.move(sfile, dfile)
return mw.returnData(True, '设置成功!')
return mw.returnData(False, '设置失败!')
# 外部接口 查询服务启动级别 /etc/init.d/
def get_service_list(self, get = {}):
data = {}
@ -1386,6 +1424,9 @@ def kill_process_all(args = {}):
def remove_service(args = {}):
return mc_instance.remove_service(args)
def set_runlevel_state(args = {}):
return mc_instance.set_runlevel_state(args)
def get_service_list(args = {}):
return mc_instance.get_service_list(args)

Loading…
Cancel
Save