当前位置: 首页>>代码示例>>Python>>正文


Python GNUScreen.get_session_list方法代码示例

本文整理汇总了Python中GNUScreen.get_session_list方法的典型用法代码示例。如果您正苦于以下问题:Python GNUScreen.get_session_list方法的具体用法?Python GNUScreen.get_session_list怎么用?Python GNUScreen.get_session_list使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在GNUScreen的用法示例。


在下文中一共展示了GNUScreen.get_session_list方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: prime

# 需要导入模块: import GNUScreen [as 别名]
# 或者: from GNUScreen import get_session_list [as 别名]
def prime(fifoname):
    l1=sc.get_session_list()
    cmd='screen -S "MANAGER_NOATTACH" -m -d -c /dev/null python %s %s %s'%(sys.argv[0],'ui',fifoname)
    sys.stderr.write(cmd+'\n')
    os.popen(cmd)
    l2=sc.get_session_list()
    sys.stderr.write('searching for target session..\n')
    session=sc.find_new_session(l1,l2)
    sys.stderr.write('target session = %s\n'%session)

    print ('session: %s'%session)
    return session
开发者ID:testacc,项目名称:screen-session,代码行数:14,代码来源:manager.py

示例2: prime

# 需要导入模块: import GNUScreen [as 别名]
# 或者: from GNUScreen import get_session_list [as 别名]
def prime(fifoname):
    l1 = sc.get_session_list()
    cmd = SCREEN + \
        ' -S "GNU_SCREEN_SESSIONS_MANAGER" -m -d -c /dev/null "%s" "%s" "%s" "%s"' % \
        (os.getenv('PYTHONBIN'), (sys.argv)[0], 'ui', fifoname)
    sys.stderr.write(cmd + "\n")
    os.popen(cmd)
    l2 = sc.get_session_list()
    sys.stderr.write('searching for target session..\n')
    session = sc.find_new_session(l1, l2)
    sys.stderr.write('target session = %s\n' % session)

    print 'session: %s' % session
    return session
开发者ID:chronidev,项目名称:screen-session,代码行数:16,代码来源:manager.py

示例3: get_sessionname

# 需要导入模块: import GNUScreen [as 别名]
# 或者: from GNUScreen import get_session_list [as 别名]
        session = (sys.argv)[1]
    else:
        raise Exception
except:
    session = None
try:
    s = get_sessionname(session)
except:
    s = None
    s2 = None
    try:
        badname = os.getenv("STY").split(".", 1)[0]
        if not badname:
            session = None
            raise Exception
        sclist = sc.get_session_list()
        for (sc, active) in sclist:
            if sc.startswith(badname):
                s = sc
                if not sc.endswith("-queryA"):
                    break
                    None
    except:
        pass
if s:
    try:
        if session and s.find(session) > -1:
            newname = (sys.argv)[2]
            os.popen(SCREEN + ' -S "%s" -X sessionname "%s"' % (s, newname)).close()
        else:
            raise Exception
开发者ID:rlabok,项目名称:screen-session,代码行数:33,代码来源:sessionname.py

示例4: eval_command

# 需要导入模块: import GNUScreen [as 别名]
# 或者: from GNUScreen import get_session_list [as 别名]
def eval_command(scs,command,last_session,psession):
    command=command.split(' ',1)
    mode=command[0]
    if len(command)>1:
        args=[]
        for arg in command[1].split(' '):
            args.append(arg)
    else:
        args=['']
    #print2ui('command: %s args: %s'%(command,str(args)))


    if mode.startswith('a'): # attach
        return tui_attach_session(scs,args[0],psession)
    if mode.startswith('d'): # deselect
        print2ui('LOGIC: deselecting' )
        scs.focus('bottom')
        scs.select('-')
        scs.focus('top')
        return None,'\0'
    elif mode=='kill':
        if last_session:
            print2ui('LOGIC: killing session \"%s\"'%last_session)
            scs=ScreenSaver(last_session,'/dev/null','/dev/null')
            scs.quit()
    elif mode.startswith('q'): # quit
        print2ui('LOGIC: quiting...' )
        return 'quit',None
    elif mode.startswith('h'): # help
        usage()
    elif mode.startswith('e'): # enter
        return 'enter',None
    elif mode=='restart': # restart
        print2ui('LOGIC: restarting')
        return 'restart',None
    elif mode.startswith('r'): # refresh 
        print2ui('LOGIC: refreshing')
    elif mode.startswith('l'): # layout
        global tui
        print2ui('LOGIC: toggling layout')
        scs.focus('bottom')
        cnum=scs.get_number_and_title()[0]
        scs.focus('top')
        if tui!=maxtui:
            tui+=1
        else:
            tui=1
        reset_tui(scs)
        if int(cnum)>1:
            scs.focus('bottom')
            scs.select(cnum)
            scs.focus('top')
    elif mode.startswith('w'): # wipe
        print2ui('LOGIC: wiping out dead sessions')
        scs.wipe()
    elif mode.startswith('save'): # save 
        if args[0]:
            arg_out='%s'%args[0]
        else:
            arg_out='%s'%last_session
        print2ui('LOGIC: saving session as %s'%arg_out)
        os.popen('screen-session save --force --log /dev/null --in \"%s\" --out \"%s\"'%(last_session,arg_out))
    elif mode.startswith('s'): # screen
        if args and len(args[0])>0:
            arg=" ".join(["%s"%v for v in args])
        else:
            arg=' '

        cmd='screen -d -m %s'%arg
        print2ui('LOGIC: creating new session: [%s]'%(cmd.strip()))
        l1=sc.get_session_list()
        os.popen(cmd)
        l2=sc.get_session_list()
        newsession=sc.find_new_session(l1,l2)
        return tui_attach_session(scs,newsession,psession)
        
    elif mode.startswith('n'): # name
        if last_session:
            print2ui('LOGIC: renaming session to \"%s\"'%args[0])
            if scs.sessionname() == last_session:
                scs_target=scs
            else:
                scs_target=ScreenSaver(last_session,'/dev/null','/dev/null')

            nsessionname=scs_target.sessionname(args[0])
            print2ui('LOGIC: new sessionname is now [%s]'%nsessionname)
            scs.focus('bottom')
            cnum=scs.get_number_and_title()[0]
            if (psession and psession==last_session):
                psession=nsessionname
                print2ui('LOGIC: parent session is now [%s]'%nsessionname)
            elif nsessionname==scs.sessionname():
                print2ui('LOGIC: THIS is session [%s]'%nsessionname)
            else:
                scs.screen('screen -x \"%s\"'%nsessionname)
                scs.title(nsessionname)
            if int(cnum)>1:
                #print2ui('LOGIC: killing window \"%s\"'%cnum)
                scs.kill(cnum)
            scs.focus('top')
#.........这里部分代码省略.........
开发者ID:testacc,项目名称:screen-session,代码行数:103,代码来源:manager.py

示例5: eval_command

# 需要导入模块: import GNUScreen [as 别名]
# 或者: from GNUScreen import get_session_list [as 别名]

#.........这里部分代码省略.........
        cnum = scs.get_number_and_title()[0]
        scs.focus('top')
        if tui != maxtui:
            tui += 1
        else:
            tui = 1
        reset_tui(scs)
        if int(cnum) > 1:
            scs.focus('bottom')
            scs.select(cnum)
            scs.focus('top')
    elif mode.startswith('L'):

                               # layout

        print2ui('LOGIC: toggling layout')
        scs.focus('bottom')
        cnum = scs.get_number_and_title()[0]
        scs.focus('top')
        if tui != 1:
            tui -= 1
        else:
            tui = maxtui
        reset_tui(scs)
        if int(cnum) > 1:
            scs.focus('bottom')
            scs.select(cnum)
            scs.focus('top')
    elif mode.startswith('w'):

                               # wipe

        print2ui('LOGIC: wiping out dead sessions')
        menu_tmp_last_selection = -1
        scs.wipe()
    elif mode.startswith('save') or mode == 'S':

                                               # save

        if args[0]:
            arg_out = "%s" % args[0]
        else:
            arg_out = "%s" % last_session
        print2ui('LOGIC: saving session as %s' % arg_out)
        os.system('screen-session save -S \"%s\" --force --log \"%s\" \"%s\" 1>&- 2>&-' %
                  (last_session, fifoname2, arg_out))
    elif mode.startswith('s'):

                               # screen

        if args and len(args[0]) > 0:
            arg = (" ").join(["%s" % v for v in args])
        else:
            arg = " "

        cmd = SCREEN + ' -d -m %s' % arg
        print2ui('LOGIC: creating a new session: [%s]' % cmd.strip())
        l1 = sc.get_session_list()
        os.popen(cmd)
        l2 = sc.get_session_list()
        newsession = sc.find_new_session(l1, l2)
        menu_tmp_last_selection = newsession
        print2ui('LOGIC: "%s"' % menu_tmp_last_selection)
        return tui_attach_session(scs, newsession, psession)
    elif mode.startswith('n'):

                               # name

        if last_session:
            print2ui('LOGIC: renaming session to \"%s\"' % args[0])
            if scs.sessionname() == last_session:
                scs_target = scs
            else:
                scs_target = ScreenSaver(last_session, '/dev/null',
                        '/dev/null')

            nsessionname = scs_target.sessionname(args[0])
            print2ui('LOGIC: new sessionname is now [%s]' % nsessionname)
            scs.focus('bottom')
            cnum = scs.get_number_and_title()[0]
            if psession and psession == last_session:
                psession = nsessionname
                print2ui('LOGIC: parent session is now [%s]' %
                         nsessionname)
            elif nsessionname == scs.sessionname():
                print2ui('LOGIC: THIS is session [%s]' % nsessionname)
            else:
                scs.screen(SCREEN + ' -x \"%s\"' % nsessionname)
                scs.title(nsessionname)
            if int(cnum) > 1:

                #print2ui('LOGIC: killing window \"%s\"'%cnum)

                scs.kill(cnum)
            scs.focus('top')
            return (None, nsessionname, psession)
    elif mode == 'pid':
        return ('pid', int(args[0]))
    else:
        print2ui('LOGIC: no such command')
开发者ID:chronidev,项目名称:screen-session,代码行数:104,代码来源:manager.py


注:本文中的GNUScreen.get_session_list方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。