рдХреБрдЫ рдмрд┐рдВрджреБ рдкрд░, рдореБрдЭреЗ рдЕрдЬрдЧрд░ рдореЗрдВ рдХреБрдЫ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рдПрдХрд╛рдЧреНрд░рддрд╛ рдХреА рдмрджрд▓рддреА рдбрд┐рдЧреНрд░реА рдХреЗ рд╕рдорд╛рди рдЧрддрд┐рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдкрдбрд╝рд╛ рдерд╛ред рдЪреВрдВрдХрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЗрд╕реЗ рдЖрдЧреЗ рдХреА рдЧрддрд┐рд╡рд┐рдзрд┐рдпреЛрдВ рдореЗрдВ рдбрд┐рдореЛрдиреЗрдЯрд╛рдЗрдЬреЗрд╢рди рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдФрд░ рдбреЗрдорди рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣рд┐рд╕реНрд╕реЛрдВ рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рддреАрди рдлрд╛рдЗрд▓реЗрдВ рдереАрдВ:
- рдореВрд▓ рдХрдХреНрд╖рд╛рдПрдВ - рдереЛрдбрд╝реЗ рдмрджрд▓рд╛рд╡ рдХреЗ рд╕рд╛рде, рдСрдирд▓рд╛рдЗрди рд▓реЗрдЦреЛрдВ рд╕реЗ рд▓реА рдЧрдИ рдХрдХреНрд╖рд╛рдПрдВ
- рдХрдХреНрд╖рд╛рдПрдВ рд╕реЗрдЯ рдХрд░рдирд╛ - рд╕рдВрдХреЗрддреЛрдВ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛, рдХрдорд╛рдВрдб рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдФрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдерд┐рд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рдПрдХ рд╕реЗрдЯ
- рд▓реЙрдиреНрдЪ рд╕реНрдХреНрд░рд┐рдкреНрдЯ - рдбреЗрдореЙрди рдореЗрдВ рдкрд╣рд▓реЗ рджреЛ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рддрд╛ рд╣реИ
рдЖрдЧреЗ, рдореИрдВ рддреАрдиреЛрдВ рдХреЗ рддрд░реНрдХ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛ред
рдореБрдЭреЗ
рддреБрд░рдВрдд рдХрд╣рдирд╛
рд╣реЛрдЧрд╛ рдХрд┐ рд╕рдм рдХреБрдЫ
рдЧрд┐рддреБрдм рдкрд░ рд╣реИ ред рдХреНрдпреЛрдВрдХрд┐ рдпрджрд┐ рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрдЬрдЧрд░ рдХреЛ рдкрдврд╝рддреЗ рд╣реИрдВ, рддреЛ рдореЗрд░реЗ рдмрд╣реБрдд рдЕрдпреЛрдЧреНрдп рдкрд╛рда рдХреЛ рдкрдврд╝рдирд╛ рдЕрдзрд┐рдХ рдХрдард┐рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд╣рд▓реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИ: рдпреЗ рд▓рдЧрднрдЧ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рддреАрди рд╡рд░реНрдЧ рд╣реИрдВ рдЬреЛ
рдЗрд╕ рд▓реЗрдЦ рд╕реЗ рд▓рд┐рдП рдЧрдП рд╣реИрдВ ред рд╡рд╣рд╛рдБ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдореЗрдВ рд╕реЗ, рдХреЗрд╡рд▓ рд╕рд┐рдЧреНрдирд▓ рд╣реИрдВрдбрд▓рд░ рд╡рд░реНрдЧ рд╣реА рдбреЗрдореЙрди рд╕реЗ рдЬреБрдбрд╝рд╛ рдерд╛, рдФрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рд▓реЛрдЧреЛрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рд╕рд┐рдЧреНрдирд▓ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рд╣реА рдбреАрдордирд╛рдЗрдЬреЗрд╢рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЦрд░рд╛рдм рд╣реЛ рдЧрдпрд╛ рдерд╛ред
рджреВрд╕рд░рд╛ рднрд╛рдЧ рдереЛрдбрд╝рд╛ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ред рддреАрди рд╡рд░реНрдЧ рд╣реИрдВ:
1) SigFunctionsCon - рд╕рдВрдХреЗрддреЛрдВ рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╣реЛрддреА рд╣реИред рдЖрд░рдВрдн рд╣реЛрдиреЗ рдкрд░, рдпрд╣ рдЕрдкрдиреЗ рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдореЙрди рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдзрд┐ рдХреЛ рдЙрд╕ рд╕рд┐рдЧреНрдирд▓ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдирд╛рдо рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣:
def SIGTERM(self): sys.stderr.write("BB!\n") sys.exit(0)
рдЖрдВрддрд░рд┐рдХ рддрд░реАрдХреЗ рдФрд░ рдХреНрд╖реЗрддреНрд░ рдХреБрдЫ рднреА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
2) ReactFunctionCon - рдЗрд╕рдореЗрдВ рдХрдВрд╕реЛрд▓ рдХрдорд╛рдВрдб рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╣реЛрддреА рд╣реИред рдЖрд░рдВрдн рд╣реЛрдиреЗ рдкрд░, рдпрд╣ рдПрдХ рдбреЗрдореЙрди рднреА рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдирд╛рдо рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдзрд┐ рдЙрд╕ рдЖрджреЗрд╢ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕ рдкрд░ рд╡рд╣ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдЧрд╛ рдФрд░ рддрд░реНрдХ рд▓реЗ рд╕рдХрддрд╛ рд╣реИ (рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ рдХрдорд╛рдВрдб рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддрд╛ рд╣реИ)ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
def stmess(self,message): print message self.__ourdaemon.start()
3) рд╕реНрдЯреЗрдЯрдХреЙрди - рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕реНрдЯреИрдЯрд┐рдХ рдбреЗрдореЙрди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╣реИрдВред рдлрд┐рд▓рд╣рд╛рд▓ рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
class StatCon: Help = "Autmation has be applied to distribution sistem feeder for a long time, aspecially as related to protection and the restoration of some parts of the feeder." def run(self): while(True): time.sleep(1) PidFile = "/tmp/daemon-naprimer.pid" Inputter = "/dev/null" Outputter = "/dev/null" Errorer = "/home/espresso/lid"
рддрджрдиреБрд╕рд╛рд░ -
рдорджрдж рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЬреЛ рдЖрдЙрдЯрдкреБрдЯ рд╣реИ рдЬрдм рддрд░реНрдХреЛрдВ рдХреЛ рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рд╢рд╛рдпрдж рдЖрдкрдХреЛ рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рд╣рд╛рдпрддрд╛ рдХрдорд╛рдВрдб рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдЗрд╕ рд╕рдВрджреЗрд╢ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ!)ред
рд░рди рд╡рд┐рдзрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдм рдХреНрдпрд╛ рдерд╛ - рдбреЗрдорди рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИред
Pid рдлрд╝рд╛рдЗрд▓ рдкрддрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдФрд░ рдЙрд╕ рд╕рднреА рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред
рдЗрдирдкреБрдЯ, рдЖрдЙрдЯрдкреБрдЯ, рддреНрд░реБрдЯрд┐рдпрд╛рдВ - рд▓реЙрдЧрд┐рдВрдЧ рдФрд░ рдЕрдзрд┐рдХред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ / dev / null рдХреЛ рднреЗрдЬрд╛ рдЧрдпрд╛
рдХреЗрдВрджреНрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХреЛрдб рдХреЗ рд╕рд╛рде рдмреНрдпрд╛рдЬ рдХреА рд╣реИред рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛, рдпрд╣ рдбреЗрдореЙрди рд╡рд░реНрдЧ рдХреЛ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИ, рдкрд┐рдЫрд▓реА рдлрд╝рд╛рдЗрд▓ рд╕реЗ рд╕рднреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдПрдХрддреНрд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдбреЗрдореЙрди рджреНрд╡рд╛рд░рд╛ рдЙрдиреНрд╣реЗрдВ рд╡рд┐рдШрдЯрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЖрджреЗрд╢реЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИред
рдЦреИрд░, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд╡рд╛рд▓:
рдХреНрдпрд╛ рдЧрд▓рдд рд╣реИ, рдХреНрдпрд╛ рдирд╣реАрдВ рд╣реИ?
рдЖрдкрдХреЛ рдХреНрдпрд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рдЬреАрдкреАрдПрд▓ рдХреЛ рдЗрд╕рдХрд╛ рд╢реНрд░реЗрдп рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрд╛ рдХреНрдпрд╛ рдЖрдкрдХреЛ рдЪреЛрдЯ рдирд╣реАрдВ рдкрд╣реБрдВрдЪрдиреА рдЪрд╛рд╣рд┐рдП, рдФрд░ рдХреНрдпрд╛ рдпрд╣ рд╕рдм рдмрд╣реБрдд рд╣реА рддреБрдЪреНрдЫ рд╣реИ?
рдХреНрдпрд╛ рдореИрдВрдиреЗ рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦрдХреЛрдВ рдХреЛ рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рд╣реИ?
рдЕрдЧреНрд░рд┐рдо рдзрдиреНрдпрд╡рд╛рджред
рд╕рдВрджрд░реНрдн:
GithabрдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ