问题标签 [posix]

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 投票
2 回答
240 浏览

c - 在调试器下

如何在我的程序中检测到它正在调试器下运行?我知道这似乎表明我试图做一些我不应该做的事情,这太混乱了。我认为这是一个有趣的问题。具体来说,有没有办法在 POSIX 环境中做到这一点?例如使用 sigaction (2) 来检测是否安装了一些处理程序?更糟糕的想法;是否有一些我可以在 x86 架构上使用的内联汇编代码?

正如我们讨论的那样——最终是否有可能启动一个调试器,例如 gdb (1),并在您执行这种可能的 hack 的地方中断。感谢任何肮脏的单行字或不太可能引用与此相关的标准。

0 投票
9 回答
94688 浏览

c - 有没有办法刷新 POSIX 套接字?

是否有标准调用将 POSIX 套接字的传输端一直刷新到远程端,或者这是否需要作为用户级协议的一部分来实现?我环顾了通常的标题,但找不到任何东西。

0 投票
2 回答
42548 浏览

python - python中的whoami

找出运行 python 进程的用户的最佳方法是什么?

我可以这样做:

但这必须开始一个全新的过程。

有时有效,但有时未设置该环境变量。

0 投票
2 回答
2689 浏览

c++ - 如果进程被 SIGKILLed,操作系统(POSIX)是否刷新内存映射文件?

如果一个进程被 SIGKILL 杀死,它对内存映射文件所做的更改是否会刷新到磁盘?我假设如果操作系统确保在进程通过 SIGKILL 终止时将内存映射文件刷新到磁盘,那么它也会使用其他终止信号(SIGABRT、SIGSEGV 等)这样做。

0 投票
5 回答
13071 浏览

c - C 定时器回调

对 UNIX 和 Windows 上的 C 语言中类似于 JavaScript setTimeout 的东西感兴趣。

基本上,我想要:

或尽可能接近。

此外,类似于 setInterval 的东西会很好(它每 n 秒调用一次回调),但这可以使用 setTimeout 实现:)

0 投票
1 回答
1674 浏览

ipc - 使用 POSIX 共享内存时,您在哪里放置 POSIX 信号量?

我正在尝试使用 POSIX 共享内存和 POSIX 信号量构建客户端服务器应用程序。我是否必须将信号量放在共享内存段中,或者信号量可以只是全局变量吗?我希望遵守 POSIX 约定。

0 投票
3 回答
4480 浏览

c++ - OS X 上的奇数/错误 sem_getvalue 信号量行为

我有一些非常基本的信号量代码,在 Linux 上运行良好,但我一辈子都无法让它在 OS X 上正常运行......它返回最奇怪的结果......

在 OS X 上使用 g++ 编译它会返回以下输出:

而在 Ubuntu 上,我得到了明显更理智的结果:

我已经连续 3 个小时了,无法弄清楚为什么 OS X 会返回如此奇怪的结果......

我尝试使用文件路径作为信号量名称,但没有任何区别。

我会很感激我能得到的任何帮助。

0 投票
2 回答
4205 浏览

c - 什么时候破坏 pthread 屏障是安全的?

如果我有一个初始化的 pthread_barrier_t,什么时候可以安全地销毁它?下面的例子安全吗?

0 投票
2 回答
2890 浏览

client-server - 为什么某些 posix 共享内存段和 posix 信号量对 ipcs 不可见

我使用 posix 共享内存和 pshared=1 的 posix 未命名信号量构建了一个客户端服务器应用程序。信号量放置在共享内存中。程序运行良好,但是当我键入 ipcs -m 或 ipcs -s 时,我没有看到我创建的任何共享内存段或信号量。为什么会这样?


0 投票
8 回答
7946 浏览

c++ - C++ - 线程和多个队列

我需要建立一个工人系统(表示为线程)和(多个)队列。单个作业在其中一个队列中等待,并等待工作线程处理它们。每个工作人员只能处理一些队列中的作业。没有旋转等待。C/C++、pthreads、标准 POSIX。

对我来说,问题是“多个队列”的事​​情。我知道如何用一个队列来实现它。工作人员需要等待他们可以处理的所有队列(等待其中的任何一个)。

在 Windows 上,我会使用 WaitForMultipleObjects,但这需要是多平台的。

我不想要任何特定的代码,只想要我应该使用的模型的提示或描述。提前致谢。