通过MobaXterm的SSH功能,我在远程Linux服务器上运行Java应用程序。当我尝试键入终端(通过Scanner处理用户输入请求)并且发生任何日志记录时,会出现问题。当任何打印语句发生时,我正在键入的文本会自动进入日志记录部分。
澄清示例:
答案 0 :(得分:2)
正如其他人在评论部分已经提到的那样,你可以对这种行为做些什么。
但通常您不希望登录您正在使用的tty。
如果您在系统上拥有root权限,则尝试禁止控制台上的日志消息并将其重定向到日志文件,除非有充分的理由不这样做。因为它取决于谁发送消息,所以这样做的方法不同。
另一种可能性是在终端中启动screen会话以打开新的tty。 为了便于使用,我将直接连接到屏幕会话:
ssh -t user@server /usr/bin/screen
如果您在连接的用户的主目录中创建.screenrc文件,请输入
startup_message off
如果您不喜欢屏幕开始消息,请填写。您甚至可以使用它启动控制台应用程序,以便在停止应用程序时屏幕会话结束。
ssh -t user@server /usr/bin/screen your_start_command_here
屏幕具有更多功能,例如命名会话,重新连接到会话等。有关详细信息,请参阅手册。
(屏幕解决方案显然只有在您的应用程序不会生成屏幕上的日志消息时才有效。在这种情况下,配置您的记录器,它不会记录到stdout)