def check_exclusive_mode(self):
if self.options.exclusive_mode:<EOL><INDENT>import psutil<EOL>current_pid = os.getpid()<EOL>current = psutil.Process(current_pid).cmdline()<EOL>for pid in psutil.pids():<EOL><INDENT>p = psutil.Process(pid)<EOL>try:<EOL><INDENT>if current_pid != pid and current == p.cmdline():<EOL><INDENT>self.error_message(<EOL>"<STR_LIT>".format(p.pid))<EOL>sys.exit(-<NUM_LIT:1>)<EOL>pass<EOL><DEDENT><DEDENT>except psutil.ZombieProcess:<EOL><INDENT>pass<EOL><DEDENT>except psutil.AccessDenied:<EOL><INDENT>pass<EOL><DEDENT>pass<EOL><DEDENT>pass<EOL><DEDENT>pass<EOL>
检查是否是独占模式

参数顺序必须一致,也就是说如果参数顺序不一致,则判定为是两个不同的进程
这么设计是考虑到:

- 一般而言,排他模式的服务启动都是crontab等脚本来完成的,不存在顺序变更的可能
- 这在调试的时候可以帮助我们不需要结束原有进程就可以继续调试

:return: