需要tmux会话并重新启动它的函数

时间:2018-07-19 06:32:03

标签: python unix process tmux

我想在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中打印会话并接受输入,但紧接其后崩溃。输入会话名称后,我希望它停止该会话并重新启动它。

1 个答案:

答案 0 :(得分:1)

请参见 function change() { document.write(<div id='demo' style='color: red'>TEXT</div>); } 中的下一个源代码,目标target_session段应为/usr/local/lib/python3.4/dist-packages/libtmux/server.py,即会话的名称。

在您的位置,它是string,而不是sessionmy_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来实现目标即可。