以低优先级启动进程(使用 Runtime.exec / ProcessBuilder.start)

2023-12-25

我需要在低优先级下启动一个 CPU 密集型系统进程,这样它就不会减慢我的服务器速度。我怎样才能在 Linux 上做到这一点?

这与这个问题类似:使用 Runtime.exec / ProcessBuilder.start 以低优先级启动 Java 进程? https://stackoverflow.com/questions/6223765/start-a-java-process-using-runtime-exec-processbuilder-start-with-low-priori除了在 Linux 上而不是在 Windows 上。如果在进程启动后更改进程的优先级也没关系(只要没有太多延迟)。


使用运行命令/usr/bin/nice http://amath.colorado.edu/computing/software/man/nice.html。例如:

$ /usr/bin/nice -n 10 somecommand arg1 arg2

会跑somecommand arg1 arg2好感度为+10。 (在Unix / Linux中,niceness值越大,调度程序优先级越低。范围nice通常是从 -19 到 +19。)

请注意,此解决方案是特定于平台的。它仅适用于 Linux 和 Unix 系统...


跟进

ProcessBuilder 应该像任何普通命令一样实例化; IE。

    new ProcessBuilder("nice", "-n", "10", "somecommand", "arg1", "arg2");

关于何时/如何分割命令/参数并不存在黑魔法。命令(例如nice) 语法决定了它的参数应该是什么,并且决定了它们应该如何在 shell 命令行上引用,以及它们在使用时应该如何提供ProcessBuilder(或本机exec*与此相关的系统调用)。

我认为应该不会有问题waitFor()等等,因为(据我所知)/usr/bin/nice命令用途exec (not fork / exec) 运行提供的命令。试试看 ...

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

以低优先级启动进程(使用 Runtime.exec / ProcessBuilder.start) 的相关文章

  • URL.setURLStreamHandlerFactory

    我正在使用带有嵌入式 Jetty 的可执行 jar 开发一个 Web 应用程序 我的jar包含一个依赖jar jar in jar 我参考了JarRsrcLoader and RsrcURLStreamHandlerFactory由 Ecl
  • 使用 ChannelExec 的命令未执行 - Jsch

    我正在使用 Jsch 在服务器中创建一个文件并执行一些命令 对于文件创建 它工作正常 但是对于命令执行 则不然 它保持状态 1 仍在处理它 并永远保持该状态 这种情况发生在 shell 执行或我尝试成为 root 时 请按照以下方法操作 p
  • RMI 中的引用传递问题? [复制]

    这个问题在这里已经有答案了 有人可以告诉我我错在哪里 为什么这个 RMI 聊天应用程序不起作用 目标是通过远程对象或序列化对象实现客户端 服务器和逻辑之间的解耦 import javax swing import java awt even
  • 如何拦截 REST 端点以接收所有标头?

    我当前的代码是 Path login RequestScoped public class LoginResource GET SecurityChecked public Response getUser HeaderParam AUTH
  • 如何导入 org.apache.commons.lang3.ArrayUtils;进入 Eclipse [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我如何导入 org apache commons lang3 ArrayUtils 将库添加到 Ecl
  • 线程“main”中的异常 java.lang.StackOverflowError

    我有一段代码 但我无法弄清楚为什么它在线程 main java lang StackOverflowError 中给出异常 这是问题 Given a positive integer n prints out the sum of the
  • Intellij 中的 Google OR-Tools:UnsatisfiedLinkError

    我正在建立一个应该使用 Google OR Tools 的 java 框架 下面的代码编译成功 但在运行时抛出异常 Exception in thread main java lang UnsatisfiedLinkError com go
  • Jenkins 的代码覆盖率 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何将 Observable>> 转换为 Observable>

    我陷入了如何将以下可观察类型转换 转换为我的目标类型的困境 我有以下类型的可观察值 Observable
  • 我想在java中使用XQuery进行Xml处理

    我想用XQuery用于从 java 中的 Xml 获取数据 但我没有得到需要为此添加哪个 Jar 我在谷歌上搜索了很多 但没有得到任何有用的例子 例如我得到以下链接 https docs oracle com database 121 AD
  • 当您在数组列表上调用remove(object o)时,它如何比较对象?

    当您在 java 中的数组列表上调用remove object o 时 它如何比较对象以找到要删除的正确对象 它使用指针吗 或者它使用 Comparable 接口来比较对象吗 ArrayList remove 依赖于对象的实现Equal方法
  • 在 Java 中将弯音发送到 MIDI 音序器

    我了解启动和运行 MIDI 音序器的基础知识 并且希望能够在播放过程中增加 减小序列的音高 但弯音是发送到合成器而不是音序器的消息 我尝试将音序器的接收器设置为合成器的发射器 当我发送弯音短消息时 音序器保持相同的音调 但随后合成器以新的弯
  • Java:java.util.ConcurrentModificationException

    我正在制作 2D 目前正在研究用子弹射击 子弹是一个单独的类 所有项目符号都存储在称为项目符号的数组列表中 当它超出屏幕一侧 Exception in thread main java util ConcurrentModification
  • 带有 OpenId 提供程序的 Java Spring 安全性

    我有一个 spring MVC 应用程序 另一个客户端应用程序想要使用 open id connect 访问我的 spring 应用程序 如何在服务器端实现开放ID提供商 请帮忙 MITREid 连接 OpenID Connect Java
  • 改变for循环的顺序?

    我遇到一种情况 我需要根据用户输入以不同的顺序循环遍历 xyz 坐标 所以我是 3D 空间中的一个区域 然后是一组像这样的 for 循环 for int x 0 x lt build getWidth x for int y 0 y lt
  • 使用 secp256r1 曲线和 SHA256 算法生成 ECDSA 签名 - BouncyCastle

    我正在尝试使用带有 secp256r1 曲线 P256 的 ECDSA 和用于消息哈希的 SHA256 算法生成签名 我也在使用 Bouncy Castle 库 下面的代码 public class MyTest param args pu
  • 如何初始化静态地图?

    你会如何初始化静态Map在Java中 方法一 静态初始化方法二 实例初始化 匿名子类 或者 还有其他方法吗 各自的优点和缺点是什么 这是说明这两种方法的示例 import java util HashMap import java util
  • 无法使用 wget 在 CentOS 机器上安装 oracle jdk

    我想在CentOS上安装oracle java jdk 8 我无法安装 java jdk 因为当我尝试使用命令安装 java jdk 时 root ADARSH PROD1 wget no cookies no check certific
  • 春季 CORS。在允许的来源中添加模式

    查看CORS的弹簧指南 以下代码启用所有允许的来源 public class MyWebMVCConfigurer extends WebMvcConfigurerAdapter Override public void addCorsMa
  • 如何在 Linux shell 中将十六进制转换为 ASCII 字符?

    假设我有一个字符串5a 这是 ASCII 字母的十六进制表示Z 我需要找到一个 Linux shell 命令 它将接受一个十六进制字符串并输出该十六进制字符串代表的 ASCII 字符 所以如果我这样做 echo 5a command im

随机推荐

  • EF 一对一更新失败

    我在 EF6 中定义了一对一关系 适用于插入 不幸的是 当我尝试使用断开连接的记录进行更新时 我收到错误 详细信息如下 NET 来源 namespace EF ConsoleApp Test public class Program pub
  • 如何在 HTML5 画布上绘制模糊的圆圈?

    我可以在 HTML5 画布上绘制一个简单的圆圈 但我想在它周围添加一些模糊效果 我发现的是这个网站 http flashcanvas net examples uupaa js spinoff googlecode com svn trun
  • Plone 4.3 升级后 TinyMCE 工具栏丢失

    我将 Plone 站点从 4 2 升级到 4 3 升级步骤基本上是 运行 install sh 以拥有 4 3 环境 将 Data fs 复制到 var filestorage 并将自定义敏捷包复制到 src 在ZMI中运行升级 一切看起来
  • Cmake 与 make 示例代码?

    我想知道是否有任何示例代码Makefiles make and CMakeLists txt cmake 两者都做同样的事情 唯一的区别是一个是写在make另一个在cmake 我尝试寻找 cmake vs make 但从未找到任何代码比较
  • Angular js - 错误:[$parse:lval] 尝试将值分配给非左值[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我的这行代码有一个错误 但代码完成了它的使命 我不明白会发生什么 我对角度很陌生
  • Android 编程断言

    你能在android编程中使用断言吗 如果是这样 你如何在 Eclipse 中启用它 因为问题是是否可能 是的 这是可能的 但我同意 CommonsWare 认为应该避免断言 无论如何看到我可以在 Android 设备上使用断言吗 http
  • Spark 1.6 在 EMR 上写入 S3,因为 Parquet 挂起并失败

    我正在创建一个 uber jar Spark 应用程序 将其提交到 EMR 4 3 集群 我正在配置 4 个 r3 xlarge 实例 其中一个作为主实例 另外三个作为核心 我从控制台预安装了 hadoop 2 7 1 ganglia 3
  • 递归构造函数调用错误找不到解决方案

    我在四个公共金枪鱼部分 部分 可能是一个类或其他东西 处收到递归构造溢出调用错误 它适用于教程 但不适合我 似乎看不到在哪里 public class tuna private int hour private int minute pri
  • 如何检查变量是否是数组?

    我对变量名有一个循环 我需要检查变量的内容是否是数组 for varname in AA BB CC do local val if varname is array then how can I perform this test ech
  • 如何在 Chrome DevTools 网络面板中按文本和属性进行过滤?

    我想通过 URL 中的方法属性和文本过滤 Chrome DevTool 的网络面板 例如 如果我在 URL 中搜索文本 chromequestion 并且仅搜索 HTTP GET 请求 忽略 PUT POST DELETE 等 I am a
  • JOOQ 查询的时间戳精度

    我有一个 PSQL 原始查询 我想将其转换为 JOOQ 查询 SELECT DISTINCT date trunc day ref date AS refdate FROM income WHERE probos id probosId 我
  • 在 python lxml 库中使用西里尔字母的正确方法是什么

    我尝试生成其中包含西里尔字母符号的 xml 文件 但结果却出人意料 避免这种结果的最简单方法是什么 例子 from lxml import etree root etree Element print etree tostring root
  • 监听元素的创建,并在元素出现在 Chrome 扩展程序的页面上时触发事件

    是否可以让 Chrome 扩展监听尚未创建的元素的出现 假设用户单击按钮并且单击事件创建一个元素 div My Div div 并将其添加到页面 DOM 是否可以设置一个侦听器 在该元素出现时自动触发事件 或者我是否必须每隔 X 毫秒轮询页
  • 智能字段注释 - valuehelp 下拉菜单

    我有一个值帮助字段 并且只想在下拉列表中查看说明 而不是代码 选择后 想要将代码存储在另一个处于隐藏模式的字段中 为此 我定义了以下注释
  • 还有比 PHPDoc 更好的吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有没有人使用其他任何东西来记录他们的PHP代码比PHPDoc 是否有任何工具可以读取相同的文档语法但提
  • 在 PowerShell 中启用本地用户权限分配

    我之前问过类似的问题 以便在某个域用户的 PowerShell 中获得本地用户权限 现在我想启用该权限 我希望启用一些权限 但在本示例中 我将使用登录作为批处理作业 默认情况下 Windows Server 2008 中没有 Ntright
  • Knockout 中 Observable 的设置值未更新

    每天都有大量的问题链接回为什么我不能设置可观察值的值 而不是有这么多不同的答案说同样的事情 我想创建一个问题供每个人参考 Knockout Observable Observable Array 的设置值不会更新 设置我的可观察 obser
  • 使用 OpenXML 将背景图像添加到 Excel

    我正在使用 Open XML 创建 Excel 我想向 Excel 添加背景图像 不要告诉我将图像添加到 Excel 并与 OpenXML Productivity Tool 进行比较 请让我知道执行此操作的提取方法 我已经深入研究使用 O
  • 如何在Flask Sqlalchemy中分离Master Slave(DB读/写)

    我正在尝试通过 Flask Sqlalchemy 分离读取和写入数据库操作 我正在使用绑定来连接到 mysql 数据库 我想在主机中执行写入操作并从从机中读取操作 似乎没有内置的方法来处理这个问题 我是Python新手 很惊讶像这样急需的功
  • 以低优先级启动进程(使用 Runtime.exec / ProcessBuilder.start)

    我需要在低优先级下启动一个 CPU 密集型系统进程 这样它就不会减慢我的服务器速度 我怎样才能在 Linux 上做到这一点 这与这个问题类似 使用 Runtime exec ProcessBuilder start 以低优先级启动 Java