问题标签 [multiple-processes]

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 投票
0 回答
165 浏览

android - 具有相同进程名称的 Android 远程服务

现在,我正在使用其远程服务组件进行 android 软件开发。

实际上,我有两个远程服务,让我分别称它们为服务 A 和服务 B(服务 A 在 Manifest.xml 文件中的服务 B 之前声明),它们做两件不同的事情。

这两个服务具有相同的 'android:process' 属性值(都是 :remote)。这两种服务在大多数情况下都运行良好。

但是我发现有时(实际上这种情况发生的可能性很大),服务A无法成功启动。为了解决这个问题,我尝试改变服务 B 的 'android:process' 属性值。令我惊讶的是,一切都恢复了正常。两种服务都可以正常工作。

我认为Android系统应该允许两个同名但存在不同pid的进程。并且 'android:process' 属性的值不应该是问题的原因。有没有人可以解释为什么我所做的可以解决这个问题?

0 投票
1 回答
305 浏览

regex - 期望使用正则表达式在 Tcl 中进行多个进程

我试图同时产生 2 个进程,同时期望和发送命令。

我无法获得正则表达式的匹配项,并且其中没有内容

我匹配的数据如下,

我试图从这场比赛中获得价值 '2' 和 'ACT'。

expect我是否必须像我为and所做的那样针对特定的生成过程指定它send?如果是,该怎么做?

谢谢

0 投票
1 回答
660 浏览

python - 与长时间运行的 Python 程序通信

我在服务器上有一个长时间运行的 Python 程序,它已经在一个串行端口上侦听消息并将它们转发到另一个串行端口。

我需要做什么才能让该程序接受来自网络服务器的数据(最终从笔记本电脑上的网络浏览器获取数据)?

到目前为止我看到的选项是:

  • flask() “ 与服务器上运行的 python 程序通信”服务器上的解决方案似乎对我不起作用,因为(我可能做错了)长时间运行的 Python 程序似乎无法获取端口 80,我猜测是因为 Web 服务器已经在端口 80 上运行(服务于其他页面)。

  • 有一个将数据写入文件的 CGI 脚本,而长时间运行的脚本会从该文件中读取数据。我有点不愿意在闪存磨损可能是一个问题的系统上执行此操作。

  • 不知何故(?)将长时间运行的脚本转换为 FastCGI 脚本,其中包括它曾经做过的所有事情以及从 Web 服务器接受数据的新内容。

  • 不知何故(?)将长时间运行的脚本转换为 WSGI 脚本,其中包括它曾经做过的所有事情以及从 Web 服务器接受数据的新内容。

  • 编写一个简短的 web 脚本,让 web 服务器启动,它使用 asynchat / asyncore / sockets / twisted与一个长时间运行的脚本进行通信,这似乎是为两台不同计算机之间的通信而设计的,因此在长时间之间交谈时似乎有点过分了。运行 Python 脚本和运行在同一台服务器上的 Web 服务器(可能在它们之间有一个短时间 CGI 脚本或 FastCGI 脚本)。

  • 也许还有其他选择?

Web 服务器是否有标准的“pythonic”方式将数据传递给已经启动并运行的 Python 程序?(而不是更常见的 Web 服务器启动Python 程序并将数据传递给新启动的程序的情况)。

(我怀疑不相关的细节:我的服务器在 Beaglebone Black 上运行的 Ubuntu Linux 上运行 Lighttpd)。

(也许这个问题应该移到https://softwareengineering.stackexchange.com/?)

0 投票
2 回答
3166 浏览

debugging - 防止调试会话在每次下级退出后暂停

我正在使用gdb非常方便的多重劣质支持来调试进程树:

现在需要让事情继续运行,直到我在一些尚未生成的次等中遇到未来的断点之一。

但是,gdb每当劣质正常退出时,似乎“有用”的暂停,或者至少阻止清理劣质,以便其父级wait()可以返回:

所以我不得不无休止地:

继续。大约 70 次,在我在一个孩子的一个孩子的一个孩子的孩子中击中所需的断点之前。

认为正在发生的事情是gdb将进程退出视为停止事件,并且由于non-stop设置为off(默认值)它会在一个线程停止时停止所有劣等线程中的所有线程。但是,这个劣势已经终止了,它不是一个正常的停止事件,所以你不能只是cont它,你必须先切换到另一个进程。

有什么方法可以阻止 gdb 在每个劣质出口处暂停吗?我本来希望follow-fork-mode parentschedule-multiple on做到这一点,但gdb似乎仍然想在劣等退出时停下来。

我想我正在寻找类似“skip proc-exit”的东西,或者我可以更改处理程序策略的虚拟信号,这样它就不会停止。


set non-stop on似乎它应该是正确的答案,但我怀疑它被多个劣等者打破了。

如果我使用non-stop on,那么在第一次退出陷阱之后,gdb的内部状态表明低级 1 正在运行:

但内核认为它被阻止ptrace_stop

......它没有进展,直到gdb被分离,或者它被杀死。进程的信号将被忽略,并且interrupt无效gdb


GNU gdb (GDB) Fedora 7.7.1-18.fc20在 x86_64 上使用。

0 投票
0 回答
139 浏览

opengl - 在多个进程中使用相同的着色器代码

着色器变量和统一变量在不同的应用程序中是唯一的吗?

我有一种情况,我需要有几个进程(实际上是单独的程序),这些进程使用具有相同变量名称的着色器代码,但一个制服除外。每个进程都需要使其着色器独立于其他进程。当我调用 glCreateProgram() 和 glCreateShader() 时,我得到每个进程中程序和着色器的相同 ID 号,因此进程“a”似乎对进程“b”一无所知。但是,如果使用进程“b”中的唯一制服,则图像不会在进程“b”中正确显示。如果进程“a”中的着色器代码包含进程“b”中使用的制服,则一切正常。为什么更改进程“a”中的某些内容会影响进程“b”?

我们希望所有进程都有相同的着色器源,除了使用不在第一个进程中但需要是所有其他进程的统一着色器源。

在所有应用程序中:

等等。

在进程“a”的着色器代码中:

在其他进程的着色器代码中:

上述方法产生无效视图,颜色错误。如果应用程序“a”中的代码包含唯一的制服,并且制服值设置为 0.0f,则没有问题。因此,如果所有进程的着色器代码如下所示:

CPU 上的应用程序“a”会:

所有观点都是正确的。我错过了什么?

很抱歉,这篇文章很长,但我很难对问题做出充分的描述。

0 投票
2 回答
2357 浏览

php - FPDF 带有 PHP 数据的多个 pdf - 不同的页眉和页脚

我正在尝试根据来自 DB 的数据创建 1、2 或 3 个 PDF - 使用 FPDF 和 PHP。如果我必须创建 1 个 PDF,那没关系。但是如果我需要创建 2 或 3 我会遇到问题,因为无法重新声明某些类。

下面是测试必须生成多少 PDF 的 PHP 代码:

FPDF 代码下方 - 包含 2 个图像(页眉和页脚)和仅 2 或 3 行名称为 var 的文本。在第一个 PDF 中生成 Ok 但在第二个和第三个中返回错误,因为重新声明了某些 FPDF 类。

好的。而已!第二个和第三个 FPDF 代码与上面的代码相同,只是图像目录不同,因为 PDF 的页眉和页脚不同。提前感谢您的帮助和时间:)

0 投票
1 回答
35 浏览

cpu-speed - CPU 速度加倍会允许系统处理两倍的进程吗?

如果 CPU 的速度加倍,系统是否能够处理两倍的进程?假设您忽略上下文切换。

0 投票
1 回答
1522 浏览

android - 在Android中,如何防止多个进程写入同一个文件

在我的应用程序中,我将检查之前是否生成了唯一 ID,如果没有,它将生成一个并将其写入文件。但是在多进程应用程序中,当多个进程尝试写入同一个文件时,如果它们都发现之前没有生成任何 uid,就会感觉有问题。

那么在android中,如何防止多个进程写入同一个文件呢?

0 投票
0 回答
30 浏览

multithreading - 服务器进程间线程分布的性能影响

问题标题很尴尬,抱歉。

我目前正在设计服务器,我的一位同事提出了我们应该使用多个进程的评论,因为在单个进程中拥有太多线程(而不是拥有相同数量的线程分布在同一台机器上的多个进程中)

我能想到的唯一会导致这种情况(除了糟糕的操作系统调度),将来自竞争增加(例如在内存分配器上),但我不确定这有多重要。

这是“最佳实践”吗?有没有人可以与我分享一些基准?当然答案可能取决于平台(我主要对 windows/linux/osx 感兴趣,虽然我需要在一定程度上关心 HP-UX、AIX 和 Solaris)

使用多进程架构当然还有其他好处,例如进程隔离以限制崩溃的影响,但我对这个问题的性能感兴趣。

在某些情况下,服务器将服务于长时间运行的有状态连接(因此它们不能迁移到其他服务器进程),这些连接会发回大量数据,并且还会导致服务器机器上的大量本地 DB 处理。它将在进程内使用前摄器架构并在 C++ 中实现。预计服务器将运行数周/数月而无需重新启动(尽管这可以通过在某些代理下透明地轮换新实例来实现)。

此外,我们使用多进程架构,我更关心的是调度与进程的连接。

0 投票
1 回答
545 浏览

c - 父进程不获取子返回变量

这是一个类,所以我试图理解为什么在子进程返回时没有设置变量 nChars 。我读过 waitpid() 获取子进程,但是当我尝试打印 nChars 时,当子进程的 nChars 是命令行字符的数量时,它仍然显示为零