Exemplo n.º 1
0
            if not parent:
                continue
            child = 'P' + str(next_proc)
            next_proc += 1
            sys.stdout.write('SPAWN ' + child + ' ' + parent + '\n')
            ref.spawn(child, parent)
        elif line == 'KILL':
            procs = ref.get_all_procs()
            procs.remove('INIT')
            victim = random_choice(line, procs)
            if not victim:
                continue
            sys.stdout.write('KILL ' + victim + '\n')
            ref.kill(victim)
        elif line == 'REGISTER':
            root_pid = 'P' + str(next_proc - 1)
            sys.stdout.write('REGISTER ' + root_pid + '\n')
            ref.register(root_pid, 0)
        elif line == 'UNREGISTER':
            families = ref.get_all_families()
            families.remove('INIT')
            root_pid = random_choice(line, families)
            if not root_pid:
                continue
            sys.stdout.write('UNREGISTER ' + root_pid + '\n')
            ref.unregister(root_pid)
        elif line == 'SNAPSHOT':
            sys.stdout.write('SNAPSHOT\n') 
        else:
            raise Exception('invalid command: ' + line)
Exemplo n.º 2
0
            if not parent:
                continue
            child = 'P' + str(next_proc)
            next_proc += 1
            sys.stdout.write('SPAWN ' + child + ' ' + parent + '\n')
            ref.spawn(child, parent)
        elif line == 'KILL':
            procs = ref.get_all_procs()
            procs.remove('INIT')
            victim = random_choice(line, procs)
            if not victim:
                continue
            sys.stdout.write('KILL ' + victim + '\n')
            ref.kill(victim)
        elif line == 'REGISTER':
            root_pid = 'P' + str(next_proc - 1)
            sys.stdout.write('REGISTER ' + root_pid + '\n')
            ref.register(root_pid, 0)
        elif line == 'UNREGISTER':
            families = ref.get_all_families()
            families.remove('INIT')
            root_pid = random_choice(line, families)
            if not root_pid:
                continue
            sys.stdout.write('UNREGISTER ' + root_pid + '\n')
            ref.unregister(root_pid)
        elif line == 'SNAPSHOT':
            sys.stdout.write('SNAPSHOT\n')
        else:
            raise Exception('invalid command: ' + line)