当前位置: 首页 > 知识库问答 >
问题:

如何在Java中获取Linux当前用户名

龚沛
2023-03-14
System.out.println(Runtime.getRuntime().exec("whoami"));

多谢了。

共有1个答案

雷骁
2023-03-14

要获得流程的输出,需要将的InputStream附加到子流程的正常输出。然后,您可以通过创建BufferedReader来从中读取。要获得进程输出的第一行(在stdout上),可以使用以下代码:

Process proc = Runtime.getRuntime().exec("whoami");
BufferedReader stdin = new BufferedReader(new InputStreamReader(proc.getInputStream()));
String username = stdin.readLine();
System.out.println(username);

如果需要,还可以使用proc.getErrorStream()获取子进程(stderr)错误输出的InputStream

但是,如果您希望获得执行VM的用户的用户名,则有一种更好的方法:

String username = System.getProperty("user.name");
System.out.println(username);
 类似资料:
  • 我们创建了一个java web应用程序,一旦用户访问我的网站,它必须将登录id作为他的windows凭据登录id,但在我的情况下,托管我的网站后,它每次都返回服务器管理用户作为windows登录id。在java web应用程序中有没有方法获取当前的windows用户id。 如果我打开我的网站,它必须显示我的名字,如果有些人打开了那个网站,它必须显示他的名字。 谢谢

  • 问题内容: 如何在C中获取进程名称?同名,在中。我不想解析该文件。有什么编程方式可以做到这一点? 问题答案: 它指向了,或者您确实可以阅读。或者,您可以使用,不确定由谁来设置它以及它的可靠性。

  • 如何在MVC 5中获取当前登录用户的id?我尝试了StackOverflow建议,但它们似乎不适用于MVC 5 另外,MVC 5为用户分配资源的最佳实践是什么?(例如,

  • 问题内容: 我想知道如何在JavaScript中将当前用户的名称作为HTML文档的一部分。 在Java中,可以键入以实现此目的。JavaScript的替代方法是什么? 问题答案: JavaScript在当前HTML文档的上下文中运行,因此,除非它在当前页面中,否则您将无法确定有关当前用户的任何信息,或者您对服务器端脚本进行AJAX调用以获取更多信息。 JavaScript将无法确定您的Window

  • 我正在使用5.2.0版本的spring security和spring-security-saml2-service-provider。释放我正在通过IDP进行身份验证,以获取当前断言,以便将其映射到本地系统中的用户。我使用此代码获取Saml2Authentication对象 但我找不到用户。我可以获得saml2响应(authentication.getSaml2Response),但我不确定如何

  • 本文向大家介绍如何在Java 8中获取当前时间?,包括了如何在Java 8中获取当前时间?的使用技巧和注意事项,需要的朋友参考一下 从Java8引入了java.time包。它提供了LocalDate,LocalTime,LocalDateTime,MonthDay等类。使用此程序包的类,您可以以更简单的方式获取时间和日期。 Java.time.LocalTime-此类表示ISO- 8601日历系统