所以我有一个类似于如何将 ssh 作业发送到后台的问题。
我有一个 Windows c# 程序自动使用http://sshnet.codeplex.com/在远程 linux 操作系统上执行 tcpdump 。我正在尝试在远程 linux 上执行 tcpdump 并在断开连接后让它运行。
我一直在使用 plink 进行大量调试,但似乎无法达到预期的结果。我试过了:
plink root@10.5.1.1 bash -c "tcpdump -i eth0 -w test.cap"
但它持有 sshclient 直到我 ctrl+C (不适用于自动化解决方案)。我还尝试了以下变体:
plink root@10.5.1.1 bash -c "tcpdump -i eth0 -w test.cap &"
但是该命令根本不执行(test.cap 不存在)或立即终止(test.cap 包含 1 行)。在测试期间,我留下了一个 ping,所以捕获应该有一些 东西......
前面提到的链接解决了screen的问题,但是远程 linux os 是不可配置的并且没有screen。欢迎任何建议。