本文整理汇总了Python中daemon.DaemonContext.umask方法的典型用法代码示例。如果您正苦于以下问题:Python DaemonContext.umask方法的具体用法?Python DaemonContext.umask怎么用?Python DaemonContext.umask使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类daemon.DaemonContext
的用法示例。
在下文中一共展示了DaemonContext.umask方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: handle_daemon
# 需要导入模块: from daemon import DaemonContext [as 别名]
# 或者: from daemon.DaemonContext import umask [as 别名]
def handle_daemon(self, name, daemon):
"""
Executes the daemon command.
:param str name: The name of the daemon.
:param * daemon: The daemon, i.e. object with main method.
"""
self.output = EnarkshStyle(self.input, self.output)
log = logging.getLogger('enarksh')
log.setLevel(logging.INFO)
log_formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
if self.option('daemonize'):
config = Config.get()
log_file_name = os.path.join(C.HOME, config.get_enarksh_log_dir(), name + '.log')
pid_file_name = os.path.join(C.HOME, config.get_enarksh_lock_dir(), name + '.pid')
log_handler = logging.handlers.RotatingFileHandler(log_file_name,
maxBytes=config.get_enarksh_max_log_size(),
backupCount=config.get_enarksh_log_back())
log_handler.setLevel(logging.DEBUG)
log_handler.setFormatter(log_formatter)
log.addHandler(log_handler)
output = open(log_file_name, 'ab', 0)
context = DaemonContext()
context.working_directory = C.HOME
context.umask = 0o002
context.pidfile = PIDLockFile(pid_file_name, False)
context.stdout = output
context.stderr = output
context.files_preserve = [log_handler.stream]
with context:
daemon.main()
else:
log_handler = logging.StreamHandler(sys.stdout)
log_handler.setLevel(logging.DEBUG)
log_handler.setFormatter(log_formatter)
log.addHandler(log_handler)
daemon.main()