انجمن‌های فارسی اوبونتو

کمک و پشتیبانی => شبکه و سرویس‌ دهنده‌ها => نویسنده: mhch در 02 آذر 1392، 07:44 ب‌ظ

عنوان: نحوه نوشتن سرویس
ارسال شده توسط: mhch در 02 آذر 1392، 07:44 ب‌ظ
با سلام
باید سرویسی بنویسم که از طریق شبکه دو عدد رو بگیره و جمع رو برگردونه
نیت یاد گیری استایل کلی یک سرویس هست
مراحل نوشتن یک سرویس چیست؟
بجز xinetd چه جاهای دیگه ای باید دست بخورد؟
با تشکر
عنوان: پاسخ : نحوه نوشتن سرویس
ارسال شده توسط: DebianGod در 02 آذر 1392، 09:38 ب‌ظ
من با پایتون رو بلدم
http://www.jejik.com/articles/2007/02/a_simple_unix_linux_daemon_in_python/
که سه گزینه start/stop/restart  رو بهت میده
python myscript.py start
python myscript.py stop
python myscript.py restart


نمونه کد
import sys
import time
from daemon import Daemon

class YourCode:
        def run(self):
         .....

class MyDaemon(Daemon):
        def run(self):
               # Or simply merge your code with MyDaemon.
               your_code = YourCode()
               your_code.run()

if __name__ == "__main__":
        daemon = MyDaemon('/tmp/daemon-example.pid')
        if len(sys.argv) == 2:
                if 'start' == sys.argv[1]:
                        daemon.start()
                elif 'stop' == sys.argv[1]:
                        daemon.stop()
                elif 'restart' == sys.argv[1]:
                        daemon.restart()
                else:
                        print "Unknown command"
                        sys.exit(2)
                sys.exit(0)
        else:
                print "usage: %s start|stop|restart" % sys.argv[0]
                sys.exit(2)