我想要实现以下场景:
- 通过 SSH 连接到远程机器
- 在远程机器上运行命令 - 通常需要 3 天才能完成并在工作时显示输出
- 离开 SSH 连接但不终止该命令终端进程
- 从其他机器连接到远程机器并查看命令的运行输出。
答案1
第一节:
command >> logfile &
在后台执行command
并将 STDOUT 输出重定向到文件。观察输出:
tail -f logfile
按Ctrl+C停止查看输出(而不是进程本身)。
从当前会话中分离进程并退出:
disown
exit
第二节:
查看(仍在运行的)进程的当前输出:
tail -f logfile