gpt4 book ai didi

shell - SSH:向本地后台发送远程命令

转载 作者:行者123 更新时间:2023-12-01 09:34:07 27 4
gpt4 key购买 nike

所以我遇到了类似于 how to send ssh job to background 的问题.

我有一个 windows c# 程序可以自动在远程 linux 操作系统上使用 http://sshnet.codeplex.com/ 执行 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,所以捕获应该有 somthing...

前面提到的链接解决了screen的问题,但是远程linux操作系统不可配置,没有screen。欢迎提出任何建议。

最佳答案

在后一种情况下,您的 tcpdump 进程可能会在您断开连接时中止。试试:

plink root@10.5.1.1 bash -c "nohup tcpdump -i eth0 -w test.cap &"

查看nohup 的手册页| .您可能还需要考虑将 stdout 和 stderr 重定向到文件或 /dev/null 以防止 nohup 将输出写入文件:

plink root@10.5.1.1 bash -c "nohup tcpdump -i eth0 -w test.cap >/dev/null 2>&1 &"

关于shell - SSH:向本地后台发送远程命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11528761/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com