функция, которая принимает сеанс tmux и перезапускает его

1

Я хочу написать программу настройки в libtmux, которая принимает ввод имени сеанса, останавливает этот сеанс и перезапускает его.

def new_function():

    import libtmux
    server = libtmux.Server()
    print server.list_sessions()
    session= input('Enter Session Name:')
    print (session)
    my_session = server.find_where({"session_name": session})

    server.attach_session(target_session=my_session)


if __name__ == '__main__':
    print '............'

    new_function()

Он печатает сеансы в tmux и принимает ввод, но сбой сразу после него. После ввода имени сеанса я хочу, чтобы он остановил этот сеанс и перезапустил его.

Теги:
tmux
process

1 ответ

1

См. Следующий исходный код в /usr/local/lib/python3.4/dist-packages/libtmux/server.py, para target_session должен быть string, именем сеанса.

На вашем месте, это session, не my_session, my_session типа libtmux.session.Session не string, так server.attach_session(target_session=my_session) авария.

def attach_session(self, target_session=None):
    """''$ tmux attach-session'' aka alias: ''$ tmux attach''.

    :param: target_session: str. name of the session. fnmatch(3) works.
    :raises: :exc:'exc.BadSessionName'
    """

Фактически, вам не нужна эта функция, вам просто нужно использовать kill_session & new_session чтобы ваши цели.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню