我想在远程服务器中运行长时间运行的命令,即使在连接终止后也是如此。所以我想到使用
ssh host "nohup cmd &"
。但由于某种原因,cmd 都不会进入后台,它的输出也不会重定向到 nohup.out。一切都在发生,就好像我只是跑步一样ssh host cmd
。
user@ubuntu:~$ ssh utubuntu16x64-1 "nohup ls &"
bin
scripts
views
workflows
user@ubuntu:~$ ssh utubuntu16x64-1 "ls"
bin
scripts
views
workflows
我尝试直接在远程计算机上运行命令
nohup cmd &
,它工作正常。我不明白错误在哪里。
这对我在 bash 上有用,之前交换了 ssh 密钥并且不需要密码:
ssh username@remote_host 'nohup command > nohup.out 2>&1 &'
也许它来自
"
而不是 '
.