问题标签 [ipcs]

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 回答
648 浏览

c - ipcs的替代品

我有一个使用 System V 共享内存段的应用程序。通常它在内部管理这些,没有人需要触摸它们。但是对于紧急情况,我们有一个实用程序可以手动清除共享内存段。

问题是,要做到这一点,它会运行ipcs,并使用 cut 抓取输出的大块。这似乎很脆弱。它已经在不同平台上运行略有不同的命令,以反映 ipcs 输出在 Linux / AIX / Solaris 等上的格式不同的事实。

有没有比解析 ipcs 输出更好的方法来查找共享内存段?

0 投票
1 回答
272 浏览

unix - IPCS 消息传递相关查询

我正在处理消息传递 IPCS 方法。我对此确实有几个问题:

  1. 中的 KEY 字段ipcs -q告诉我0x00000000 这是什么意思?
  2. 我可以使用 msqid 查看传递的消息吗?
  3. 如果在执行 command 后存在两个条目(对于特定用户)ipcs -q。这是否意味着此特定用户传递了两条消息?
  4. 如果 used-bytes 和 message 字段设置为 0,这意味着什么?
  5. 是否可以查看消息队列是否已满?
  6. 对于一个特定的用户,我们可以有多少个队列?

我尝试了凝视,但无法找到这些问题的答案。请帮忙

0 投票
3 回答
6455 浏览

c - mq_open 给出“打开的文件太多”

我使用以下代码创建了一个消息队列。前几次它工作正常。

之后,它给出了以下错误

但是为什么我会收到这个错误?如何查看ipcs系统 V 的 possix 消息队列?

0 投票
0 回答
328 浏览

c - C Unix信号量:进程应该等待0,但不会

编写了两个简单的函数,一个用于将信号量设置为任意值(重置),另一个用于使调用它的进程等待信号量为零:

将这些函数用作代码的过程如下所示:

发生的情况是,上述过程只是继续执行循环,而我希望它在最后停止,当它调用函数 Z 时,等待信号量变为 0,然后将其重置为其初始内容并重新启动。

我哪里错了?谢谢 [已解决:愚蠢的错字 sem_id 而不是 semid]

0 投票
1 回答
1549 浏览

linux - linux、阿帕奇和ipcs

昨晚我的 apache 服务器因错误而崩溃:

在谷歌搜索错误的位置后,我发现这与 apache 信号量管理有关。我已经杀死了任何 apache 挂起的信号量,现在可以了:

现在...我看到在 apache 启动信号量已恢复(apache 已启动并正在运行)但一些其他信号量已由某些 php 进程创建(我认为)并具有奇怪的特权:

但是当我尝试了解有关某个信号量 ID 的更多信息时,我收到了这个错误

问题是:我如何知道哪个进程正在创建信号量而不删除它们?我可以在不影响系统可靠性的情况下杀死所有 perms = 0 的信号量吗?

谢谢大家,斯特凡诺

0 投票
1 回答
1825 浏览

c - 信号量 unix c 等待零

我试图了解如何在 unix 中执行等待零操作。我有这段代码,但它总是以与给定相同的值停止等待。

0 投票
0 回答
55 浏览

php - 当我在 KEY 中创建共享内存 (shmop_open) 时,INT 限制是多少?(PHP)

当我创建一个共享内存段时,我使用一个整数作为共享内存键。现在,我需要知道这个键的 int 数的限制。

我知道 int32 的限制是 2147483647 而 int64 的限制是 9223372036854775807

如果我创建一个编号为 9223372036854775807 和 9223372036854775800 的共享内存,则关键引用是 0xffffffff 和 0xfffffff8。

我认为ipcs -m响应并没有显示所有的十六进制数字。限制是多少,我如何确认它ipcs -m可以正常工作?

0 投票
1 回答
676 浏览

php - 在 Linux 中使用 iprm 删除共享内存失败

我正在使用共享内存,并且正在测试内存引用溢出。我的代码中有一些问题,我无法删除我正在尝试的所有内存段:

内存段从不删除

0 投票
0 回答
286 浏览

linux - 为什么 ipcs 命令显示许多未分离的共享内存,密钥为 0x0000000?

我发现许多带有密钥 0x0000000 的未分离共享内存,ipcs如下所示:

这很奇怪,因为nattach参数的值都是 0,这意味着没有进程附加到它们,在这种情况下应该删除它们。

我错过了什么?我不知道是哪个过程导致了这种情况。有什么办法可以查到吗?

0 投票
0 回答
89 浏览

c - 使用 shmclt() 跨进程释放内存返回无效参数错误

我在我的编程中创建了几个子进程,所以我决定创建一个共享内存数组,如下所示:

在我操作了一些工作之后,我成功分离了共享数组,但是我在删除父函数中的内存时遇到了麻烦: