如果直接从 Linux 控制台运行,我有一个应用程序需要有不同的行为。因此,如果用户使用 SSH 连接以运行 FooBar,或者用户走到控制台并直接登录以运行 FooBar,我希望它做一些不同的事情。
我需要调用什么 C API 来区分这两种情况?我想我必须查看“tty/pts”信息(例如我在运行“ps axf”时看到的信息),但我不确定这是否是最佳解决方案,也不确定调用什么 API获取该信息。
感谢提示。 :)
最佳答案
根据您对它被欺骗的担心程度,一个简单的检查是 SSH_CLIENT 和 SSH_CONNECTION 环境变量是否存在,在这种情况下您需要 getenv
功能。
关于linux - 如何判断是在 linux 控制台还是在 ssh session 中运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2908044/