问题标签 [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.
c - 在调试器下
如何在我的程序中检测到它正在调试器下运行?我知道这似乎表明我试图做一些我不应该做的事情,这太混乱了。我认为这是一个有趣的问题。具体来说,有没有办法在 POSIX 环境中做到这一点?例如使用 sigaction (2) 来检测是否安装了一些处理程序?更糟糕的想法;是否有一些我可以在 x86 架构上使用的内联汇编代码?
正如我们讨论的那样——最终是否有可能启动一个调试器,例如 gdb (1),并在您执行这种可能的 hack 的地方中断。感谢任何肮脏的单行字或不太可能引用与此相关的标准。
c - 有没有办法刷新 POSIX 套接字?
是否有标准调用将 POSIX 套接字的传输端一直刷新到远程端,或者这是否需要作为用户级协议的一部分来实现?我环顾了通常的标题,但找不到任何东西。
python - python中的whoami
找出运行 python 进程的用户的最佳方法是什么?
我可以这样做:
但这必须开始一个全新的过程。
有时有效,但有时未设置该环境变量。
c++ - 如果进程被 SIGKILLed,操作系统(POSIX)是否刷新内存映射文件?
如果一个进程被 SIGKILL 杀死,它对内存映射文件所做的更改是否会刷新到磁盘?我假设如果操作系统确保在进程通过 SIGKILL 终止时将内存映射文件刷新到磁盘,那么它也会使用其他终止信号(SIGABRT、SIGSEGV 等)这样做。
c - C 定时器回调
对 UNIX 和 Windows 上的 C 语言中类似于 JavaScript setTimeout 的东西感兴趣。
基本上,我想要:
或尽可能接近。
此外,类似于 setInterval 的东西会很好(它每 n 秒调用一次回调),但这可以使用 setTimeout 实现:)
ipc - 使用 POSIX 共享内存时,您在哪里放置 POSIX 信号量?
我正在尝试使用 POSIX 共享内存和 POSIX 信号量构建客户端服务器应用程序。我是否必须将信号量放在共享内存段中,或者信号量可以只是全局变量吗?我希望遵守 POSIX 约定。
c++ - OS X 上的奇数/错误 sem_getvalue 信号量行为
我有一些非常基本的信号量代码,在 Linux 上运行良好,但我一辈子都无法让它在 OS X 上正常运行......它返回最奇怪的结果......
在 OS X 上使用 g++ 编译它会返回以下输出:
而在 Ubuntu 上,我得到了明显更理智的结果:
我已经连续 3 个小时了,无法弄清楚为什么 OS X 会返回如此奇怪的结果......
我尝试使用文件路径作为信号量名称,但没有任何区别。
我会很感激我能得到的任何帮助。
c - 什么时候破坏 pthread 屏障是安全的?
如果我有一个初始化的 pthread_barrier_t,什么时候可以安全地销毁它?下面的例子安全吗?
client-server - 为什么某些 posix 共享内存段和 posix 信号量对 ipcs 不可见
我使用 posix 共享内存和 pshared=1 的 posix 未命名信号量构建了一个客户端服务器应用程序。信号量放置在共享内存中。程序运行良好,但是当我键入 ipcs -m 或 ipcs -s 时,我没有看到我创建的任何共享内存段或信号量。为什么会这样?
c++ - C++ - 线程和多个队列
我需要建立一个工人系统(表示为线程)和(多个)队列。单个作业在其中一个队列中等待,并等待工作线程处理它们。每个工作人员只能处理一些队列中的作业。没有旋转等待。C/C++、pthreads、标准 POSIX。
对我来说,问题是“多个队列”的事情。我知道如何用一个队列来实现它。工作人员需要等待他们可以处理的所有队列(等待其中的任何一个)。
在 Windows 上,我会使用 WaitForMultipleObjects,但这需要是多平台的。
我不想要任何特定的代码,只想要我应该使用的模型的提示或描述。提前致谢。