【问题标题】:function that takes a tmux session and restarts it接受 tmux 会话并重新启动它的函数
【发布时间】:2018-07-19 06:32:03
【问题描述】:

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

【问题讨论】:

    标签: python unix process tmux


    【解决方案1】:

    参见/usr/local/lib/python3.4/dist-packages/libtmux/server.py 中的下一个源代码,para target_session 应该是string,即会话的名称。

    在你的位置,是session,不是my_sessionmy_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来实现你的目标。

    【讨论】:

      猜你喜欢
      • 2019-07-17
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-18
      • 1970-01-01
      相关资源
      最近更新 更多