service.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. from comar.service import *
  2. import os
  3. serviceType = "server"
  4. serviceDesc = _({"en": "SMB Network Sharing",
  5. "tr": "SMB Ağ Paylaşımı"})
  6. WINBINDD_PIDFILE = "/run/samba/winbindd.pid"
  7. NMBD_PIDFILE = "/run/samba/nmbd.pid"
  8. SMBD_PIDFILE = "/run/samba/smbd.pid"
  9. @synchronized
  10. def start():
  11. startService(command="/usr/sbin/smbd",
  12. args="-D",
  13. donotify=True)
  14. startService(command="/usr/sbin/nmbd",
  15. args="-D")
  16. if config.get("winbind", "no") == "yes":
  17. startService(command="/usr/sbin/winbindd",
  18. args="-D")
  19. @synchronized
  20. def stop():
  21. stopService(pidfile=WINBINDD_PIDFILE,
  22. donotify=True)
  23. stopService(pidfile=NMBD_PIDFILE,
  24. donotify=True)
  25. stopService(pidfile=SMBD_PIDFILE,
  26. donotify=True)
  27. def reload():
  28. if os.path.exists(WINBINDD_PIDFILE):
  29. os.kill(int(file(WINBINDD_PIDFILE).read().strip()), signal.SIGHUP)
  30. if os.path.exists(NMBD_PIDFILE):
  31. os.kill(int(file(NMBD_PIDFILE).read().strip()), signal.SIGHUP)
  32. if os.path.exists(SMBD_PIDFILE):
  33. os.kill(int(file(SMBD_PIDFILE).read().strip()), signal.SIGHUP)
  34. def status():
  35. result = isServiceRunning(SMBD_PIDFILE) and isServiceRunning(NMBD_PIDFILE)
  36. if config.get("winbind", "no") == "yes":
  37. result = result and isServiceRunning(WINBINDD_PIDFILE)
  38. return result