我需要以编程方式在远程服务器上执行长时间运行的脚本。我尝试将ssh与screen或tmux一起使用,到目前为止,我无法使其正常工作。
使用tmux,当我从本地计算机终端输入ssh命令时,我设法使其工作:
ssh <server_name> -t -t tmux new -s my_session \; set-buffer "bash my_script.sh" \; paste-buffer \; send-keys C-m \; detach
但是如果我以编程方式运行此命令,则会出现此错误:
open terminal failed: missing or unsuitable terminal: unknown
Connection to <server_name> closed
使用-d标志进行新会话以启动tmux分离。因此:
ssh <server_name> tmux new -ds my_session \; send-keys "bash my_script.sh" C-m