问题标签 [process-control]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1185 浏览

shell - ulimit 返回 0 作为退出状态...如果进程被终止,如何获得 1?

我正在编写一个 shell 脚本,它调用了一些可以耗尽所有资源并有效杀死机器的程序。我必须防止这种情况发生。

我的想法是使用 ulimit 来设置资源限制(我第一次在实践中真正需要使用 ulimit)但我有点惊讶于被杀死进程的退出状态为 0。

我的 shell 脚本如何限制资源并检测到一个进程被 shell 杀死,因为它超过了限制?

我正在使用 bash,但任何评论都值得一读。

0 投票
4 回答
3700 浏览

php - 杀死后台 php 脚本(共享主机)

我使用 ignore_user_abort() 函数创建了一个在后台运行的脚本。但是,我很愚蠢,没有插入任何类型的代码来使脚本停止,现在它每 30 秒发送一次电子邮件......

有没有办法停止脚本?我在共享主机中,因此无法访问命令提示符,也不知道 PID。

0 投票
1 回答
272 浏览

ruby - ruby 创建进程和读取输出

我想创建多个进程(每个都有 cmd + 参数)。

我需要pid创建的进程,所以我可以在需要时杀死它。

我还希望能够以非阻塞方式(逐行)读取它的输出(否则我必须创建我想避免的线程)。提供标准输入是一个好处。

在红宝石中做到这一点的最佳方法是什么?

0 投票
1 回答
2942 浏览

linux - Linux中的进程控制块

如何在linux中提取PCB?或者是否有任何内核模块可供阅读?

0 投票
2 回答
2394 浏览

c++ - Boost 过程中缺少异常

我想使用 Boost Process,尽管它还没有发布。我做了

添加boost-process到包含路径(-I),#included <boost/process.hpp>但编译抱怨filesystem_error未定义:

我尝试将命名空间更改为boost::filesystem3但结果相同。

的定义filesystem_error

BOOST_SYMBOL_VISIBLE隐藏了吗?

0 投票
1 回答
740 浏览

windows - 如何通过性能监视器或任何其他实用程序在特定时间间隔内获得前“n”个 CPU 消耗进程?

我正在使用 Windows 2000 服务器。我想知道在特定时间消耗最多 CPU 的前 5 个进程。

为此,我正在使用性能监视器。但问题是在性能监控工具中,我可以在 CPU 利用率中添加特定的进程和记录,但我无法在特定时间找到哪个随机进程消耗最高的 CPU

我可以通过性能监视器或其他实用程序找到它吗?

0 投票
1 回答
1282 浏览

java - 有没有类似于supervisord的java

我正在编写一个分布式系统,其中作业(进程)将在多个节点(LINUX 机器)上运行。

我希望能够在这些机器上启动作业,终止作业(杀死),监控每台机器上正在运行的内容。

我正在寻找可用于实现此解决方案的框架(最好是 Java 中的)。

我已经研究过使用 Hadoop 或 Akka 等框架使用的底层组件,但没有提出任何令人满意的结果。

我正在寻找的一些额外限制:

  1. 它应该合理地扩散到生产级项目中
  2. 它应该允许我启动用任意语言编写的 UNIX 进程
  3. 应该是开源的
  4. 它应该是轻量级的——一位回答者建议我查看基于代理的框架——尽管这些满足我发布的要求——我发现它们的重量很重。我正在寻找真正满足所述要求并且不需要我采用更全面的方法的东西。

谢谢。

0 投票
1 回答
3539 浏览

c - 信号量初始化

我有一个信号量,我试图改变它的值,但它失败了。阅读该man页面后,我了解到如果该值小于 0 并且您使用SETVAL它将失败(我没有初始化它)。但是当我初始化它时,当我调用perror(). 我不确定它是指SETALL工会还是工会。

我的初始化如下所示:

我像手册页和其他几个网站一样声明了我的联合,然后我进行检查semget()以确保它返回信号量,因此我知道该部分工作正常。如果有人能告诉我哪里出错了,我将不胜感激。

另外,如果有人可以解释我的错误背后的原因,以便我可以从我的错误中吸取教训,这将是最有帮助的。

谢谢

更新:显然它不喜欢== -1所以我把它改成它< 0工作得很好真的很奇怪我不知道感谢所有的回复

0 投票
4 回答
11022 浏览

operating-system - 存储和检索过程控制块

当一个进程在执行时,PCB的内容(在内核内存空间?)被加载到CPU寄存器,状态寄存器内核堆栈指针用户堆栈指针等。

当上下文切换到另一个进程时,当前的“上下文”被存储回 PCB 中,并切换到新的 PCB。

现在当内核想把这块PCB带回“上下文”时,它如何找到现在在内存中的这块PCB?哪些信息有助于内核找到内存中的 PCB?

0 投票
1 回答
4091 浏览

php - 即使在编译后也没有在 php 中启用 PNCTL

我刚刚用 --enable-pcntl 编译了我的 PHP,但是当我尝试访问 PHP 中的过程控制函数时,我得到:

我错过了什么吗?我的 apache 没有用 prefork 编译。这是工作所必需的吗?

完整的 PHP 编译标志:

阿帕奇模块:

编辑: 也许我不够清楚。我不会使用来自 Web 服务器的 pcntl 函数。我想重申,我的 pcntl 函数也没有在命令行中工作。对此有任何想法吗?