Я хочу написать программу настройки в 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 и принимает ввод, но сбой сразу после него. После ввода имени сеанса я хочу, чтобы он остановил этот сеанс и перезапустил его.
См. Следующий исходный код в /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
чтобы ваши цели.