systemv.py 1018 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. from setux.core.service import Service
  2. class Distro(Service):
  3. '''SystemV Services management
  4. '''
  5. manager = 'SystemV'
  6. def do_enabled(self, svc):
  7. rc = f'/etc/rc3.d/S03{svc}'
  8. ret, out, err = self.run('ls', rc)
  9. return ret==0 and out[0]==rc
  10. def do_status(self, svc):
  11. ret, out, err = self.run(
  12. f'service {svc} status',
  13. )
  14. return 'is running' in out[0] if out else False
  15. def do_start(self, svc):
  16. ret, out, err = self.run(f'service {svc} start')
  17. return ret == 0
  18. def do_stop(self, svc):
  19. ret, out, err = self.run(f'service {svc} stop')
  20. return ret == 0
  21. def do_restart(self, svc):
  22. ret, out, err = self.run(f'service {svc} restart')
  23. return ret == 0
  24. def do_enable(self, svc):
  25. ret, out, err = self.run(f'update-rc.d {svc} enable')
  26. return ret == 0
  27. def do_disable(self, svc):
  28. ret, out, err = self.run(f'update-rc.d {svc} disable')
  29. return ret == 0