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

是否可以在Java程序中确定系统限制(就像ulimit在Linux上所做的那样)?

郎飞航
2023-03-14

我搜索了一个关于这个的现有问题/答案,但没有找到任何东西。

ulimit在Linux上提供的信息是否可以在跨平台本机Java代码中使用?

共有1个答案

邵弘伟
2023-03-14

Java中没有通用的API来完成这一任务。您总是必须调用某种本地OS代码来检索它。您可以根据运行的操作系统调用不同的脚本:

String osName = System.getProperty("os.name");
if ("Unix".equalsIgnoreCase(osName)) { // call a bash script }
else if ("windows".equalsIgnoreCase(osName)) { // call a PowerShell script }
else if // etc.

有些库,例如Apache Commons Lang3,提供了包装器,使确定当前操作系统变得更加容易,但要点如下。

 类似资料:
  • 问题内容: 在学习“汇编语言”(在Linux中,使用GNU作为汇编语言的x86体系结构)的同时,其中一件令人惊奇的事情是可以使用系统调用。这些系统调用非常方便,有时甚至需要在程序在用户空间中运行时使用。 但是,系统调用在性能方面相当昂贵,因为它们需要中断(当然还有系统调用),这意味着必须从用户空间中当前的活动程序到内核空间中运行的系统进行上下文切换。 我要说的是:我目前正在实现一个大学项目的编译器

  • 问题内容: 我已经下载并安装了IDEA 13.1。但是,即使具有64位系统,Windows也会自动将程序安装在专用于32位程序的文件夹中。 是否有适用于64位版本的其他下载文件,或者可能有特殊设置以使其适合64位系统? 问题答案: 在中,有一个名为的可执行文件。这适用于64位系统。您只需将IntelliJ快捷方式路径更改为该路径即可。 您还需要添加一个指向您的64位JDK 的新环境变量,以便Int

  • 问题内容: 我需要一个独立于平台的(Linux / Unix | OSX)shell / bash命令,该命令将确定特定进程是否正在运行。例如,…最简单的方法/命令是什么? 问题答案: 尽管和是确定正在运行的工具的绝佳工具,但不幸的是,它们在某些操作系统上均不可用。确定的故障保护将使用以下内容: Gentoo Linux上的输出: OS X上的输出: 在Linux和OS X上,grep都会返回退出

  • 问题内容: 我正在阅读有关go包“运行时”的信息,并发现我可以(除其他功能外)(func GOMAXPROCS(n int))设置可用于运行程序的CPU单元数。我可以强制goroutine在我选择的特定CPU上运行吗? 问题答案: 在现代Go中,我不会为了提高效率而将goroutine锁定在线程上。Go 1.5 添加了goroutine调度亲和力,以最小化goroutine在OS线程之间切换的频率

  • 此程序的输出: 为什么在Java中的行为是相同的。是java设置ulimit。提前谢了。

  • 问题内容: 在C语言中,如何以编程方式找出Linux / Ubuntu上是否已在运行某个进程,以避免该进程两次启动?我正在寻找类似于pidof的东西。 问题答案: 您可以进入这些条目并在文件中检查过程,也可以在链接上执行操作(以下使用第一种方法)。