作为 ssh 命令的一部分运行应用程序

作为 ssh 命令的一部分运行应用程序

我有一个自定义应用程序,如果我在提示符中自己输入命令,它直接从 Ubuntu VM 中的命令行运行或通过 SSH 运行时可以正常工作。

如果我通过 SSH(从 Windows 计算机)连接到 Ubuntu 并发送命令作为 ssh 命令的一部分来运行相同的应用程序,则 SSH 控制台不会打印应用程序的任何输出。该应用程序(实际上是 TCP 服务器)似乎已死,因为我当时无法连接到它。但是,当我关闭命令提示符并有效结束 SSH 会话时,应用程序恢复运行,我可以连接到它,没有问题!

当我who在 Ubuntu VM 中运行时,它根本没有列出 SSH 连接,但如果我运行,ss -t -a我可以看到该应用程序实际上正在监听。执行ps也不会显示应用程序正在运行。

这对任何人来说都有意义吗?

答案1

构造命令时我似乎忘记了一些事情。这个命令按预期工作:

ssh -t [email protected] "sudo ./xyz.sh; exec bash -l"

相关内容