问题标签 [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 投票
5 回答
1606 浏览

windows - Windows 的 Unix 子系统

Windows Vista Enterprise 和 Ultimate 的要点之一是 Windows 的 Unix 子系统,它允许您编写 posix... 的东西?无论如何,我不在我的联盟谈论它......有人使用这个功能吗?或者解释一下...

我对 Unix 编程几乎一无所知。

0 投票
1 回答
32367 浏览

c - sigprocmask() 中的 Set 和 Oldset

我还没有完全理解,如何使用sigprocmask(). 特别是setandoldset及其语法如何工作以及如何使用它们。

请举例说明,阻止,说 SIGUSR1 几秒钟,然后解除阻止并处理它。

0 投票
4 回答
290 浏览

python - 在共享的多平台 POSIX 环境中使用 C

我编写在共享工作区中使用的工具。由于这个领域有多个操作系统在工作,我们通常使用 Python 并标准化跨机器安装的版本。但是,如果我想用 C 编写一些东西,我想知道是否可以将应用程序包装在 Python 脚本中,从而检测操作系统并启动正确版本的 C 应用程序。每个平台都有可用的 GCC 并使用相同的 shell。

一个想法是将 C 编译到用户本地 ~/bin,并与 C 代码进行时间戳比较,因此不会在每次运行时编译它,而仅在更新代码时编译。另一个是为每个平台编译它,并让包装脚本选择正确的可执行文件。

是否有一个可接受/稳定的过程?有什么问题吗?是否有替代方案(假设绝对需要使用本机 C 代码)?

澄清:涉及多个不共享 ABI 的操作系统。例如。OS X、各种 Linux、BSD 等。我需要能够更新共享文件夹中的代码,并让新代码或多或少即时工作。分发二进制或源代码包并不理想。

0 投票
2 回答
7384 浏览

java - 在 Java 虚拟机中处理信号

是否可以在 Java 虚拟机中处理 POSIX 信号?

至少SIGINTSIGKILL应该是完全独立于平台的。

0 投票
35 回答
2985853 浏览

bash - 如何检查 Bash shell 脚本中是否存在目录?

在 Bash shell 脚本中,可以使用什么命令来检查目录是否存在?

0 投票
7 回答
20446 浏览

c++ - 如何在 C/C++ 中收到文件/目录更改的通知,最好使用 POSIX

主题说明了一切 - 通常简单且跨平台的方式是智能地进行投票。但是每个操作系统都有一些无需轮询的方式来通知。是否有可能以合理的跨平台方式进行?(我只关心 Windows 和 Linux,但我使用的是 mac,所以我认为 posix 可能会有所帮助?)

0 投票
8 回答
15355 浏览

linux - 从内部检测 chroot 监狱

在没有 root 权限的情况下如何检测到处于 chroot 监狱中?假设一个标准的 BSD 或 Linux 系统。我想出的最好办法是查看“/”的 inode 值并考虑它是否合理地低,但我想要一种更准确的检测方法。

[edit 20080916 142430 EST]仅仅查看文件系统是不够的,因为复制 /boot 和 /dev 之类的东西来欺骗被监禁的用户并不难。

[edit 20080916 142950 EST]对于 Linux 系统,检查 /proc 中的意外值是合理的,但对于不支持 /proc 的系统呢?

0 投票
4 回答
25497 浏览

linux - POSIX 异步 I/O (AIO) 的现状如何?

网络上散布着一些页面,它们以不同的详细程度描述了 POSIX AIO 设施。它们都不是最近的。目前尚不清楚他们到底在描述什么。例如,此处用于 Linux 内核异步 I/O 支持的“官方”(?)网站说套接字不起作用,但我的 Ubuntu 8.04.1 工作站上的“aio.h”手册页似乎都暗示了这一点它适用于任意文件描述符。然后还有另一个项目似乎在库层工作,文档更少。

我想知道:

  • POSIX AIO 的目的是什么?鉴于我能找到的最明显的实现示例说它不支持套接字,整个事情对我来说似乎很奇怪。它只是用于异步磁盘 I/O 吗?如果是这样,为什么要使用超通用 API?如果不是,为什么磁盘 I/O 首先受到攻击?
  • 我可以在哪里查看完整的POSIX AIO 程序示例?
  • 真的有人用过吗?
  • 哪些平台支持 POSIX AIO?他们支持其中的哪些部分?<aio.h>是否有人真正支持似乎承诺的暗示的“任何 FD 的任何 I/O” ?

我可以使用的其他多路复用机制非常好,但是那里漂浮的随机信息片段让我很好奇。

0 投票
4 回答
2786 浏览

c++ - 捕获信号并向用户报告问题的便携式方式

如果由于某种奇迹在我们的程序中发生了段错误,我想捕获 SIGSEGV 并让用户(可能是 GUI 客户端)通过单个返回码知道发生了严重问题。同时我想在命令行上显示信息以显示哪个信号被捕获。

今天我们的信号处理程序如下所示:

我可以听到上面的恐怖尖叫,因为我从这个线程中读到从信号处理程序调用不可重入函数是邪恶的。

是否有一种可移植的方式来处理信号并向用户提供信息?

编辑:或者至少在 POSIX 框架内可移植?

0 投票
1 回答
4318 浏览

c - 阅读 /dev/urandom 是线程安全的吗?

这是代码:

p>

如果不是,我如何使它成为线程安全的?