草庐IT

POSIX_VISIBLE

全部标签

java - Java FileLock 是 POSIX 咨询 (fcntl) 锁

我有一个使用POSIX建议锁来锁定文件的C++程序。也就是说,它使用POSIXfcntlsystemcall用于锁定操作。我希望Java程序与该C++程序互操作,因此我希望我的Java程序也使用POSIX建议锁。Java中的文件锁定should使用标准FileLock类(class)。但是API文档对于如何实现锁定是可以理解的:Thisfile-lockingAPIisintendedtomapdirectlytothenativelockingfacilityoftheunderlyingoperatingsystem.Thusthelocksheldonafileshouldbev

linux - Linux/POSIX 中 Windows 的 rand_s 的最佳替代品是什么?

问题不在于随机性本身(我们有随机数),而在于加密安全的PRNG。什么可以在Linux或POSIX上使用?NSS有什么用吗?澄清:我知道/dev/random,但它可能会耗尽熵池。而且我不确定/dev/urandom是否保证密码安全。 最佳答案 使用/dev/random(需要用户输入,例如鼠标移动)或/dev/urandom。后者有一个熵池,不需要任何用户输入,除非池为空。你可以像这样从池中读取:charbuf[100];FILE*fp;if(fp=fopen("/dev/urandom","r")){fread(&buf,size

linux - 在 posix_spawn() 创建的过程中调用 setsid()

此问题是thisquestion的后续问题.当posix_spawn()发出bash命令时,我收到消息:bash:nojobcontrolinthisshell我认为是因为在fork序列中调用了函数setsid()而我不知道如何在使用posix_spawn()时模拟此操作.有没有办法为bash进程创建新session? 最佳答案 你不能。它不是当前posix_spawn接口(interface)的一部分。添加它已在http://austingroupbugs.net/view.php?id=1044中讨论过并且显然至少有一个实现(Q

python - 导入语句在哪里/如何解析名称 `posix`?

当代码使用importposix时,幕后发生了什么(在CPython3.6.0中)?此模块没有__file__属性。在详细模式下启动解释器时,我看到了这一行:import'posix'#它已经存在于新打开的解释器的sys.modules中,导入它只是将一个名称绑定(bind)到现有模块。我正在尝试查看我平台上os.lstat的实现细节,以确定它是否以及何时使用os.stat。 最佳答案 在这里,提供比您可能需要的更多的详细信息。posix是一个内置模块。当您听到“内置模块”时,您可能会想到普通的标准库模块,或者您可能会想到用C编写的

c++ - 获取 POSIX 信号量的名称

有什么方法可以在C++中根据其ID(sem_t)获取POSIX命名信号量的名称?感谢大家最诚挚的问候。 最佳答案 不幸的是,没有。没有sem_name(或者随便你怎么调用它)函数在POSIXsemaphorespec中.也没有特定于Linux的解决方法,因为它不提供sem_name两者都不会将名称存储在sem_t中,在中定义作为typedefunion{char__size[__SIZEOF_SEM_T];longint__align;}sem_t;文件/proc/sys/kernel/sem和/proc/sysvipc/sem似乎

linux - POSIX 队列和 msg_max

我正在尝试使用POSIX队列,但遇到了一个问题。创建新队列时,我可以指定例如消息的大小以及队列中可以有多少条消息。我的正常限制是10,如/proc/sys/fs/mqueue/msg_max除了之外,在程序执行期间是否有一种简单的方法来更改它echonumber>/proc/sys/fs/mqueue/msg_max也许存在一些用于设置此类内容的系统调用。 最佳答案 没有。该限制是系统范围的限制;这就是它位于/proc/sys中的原因。如果你想改变它,你将不得不使用你已经展示过的echo命令。

linux - Linux 中 POSIX 可靠信号和 POSIX 实时信号有什么区别?

我阅读了一个信号的手册页使用man7signal我看到两种类型的信号。所以,我有一个问题,Linux中的POSIX可靠信号和POSIX实时信号有什么区别? 最佳答案 如今,将这些表述为普通信号语义与实时信号语义可能更好。在一些早期的UNIX系统中,信号是不可靠的,因为它们可能会“丢失”,因为没有阻止信号的工具(使它们保持挂起状态)。例如,在检查由信号处理程序设置的wake_up_flag之后调用pause()的代码可能会错过唤醒指令,如果信号在检查之后但在暂停()。信号阻塞和sigpause()是对这种情况的可靠改进。此外,sign

c - *nix 中程序的默认语言环境是 "posix"吗?

来自TheLinuxProgrammingInterface:Therearetwodifferentmethodsofsettingthelocaleusingsetlocale().Thelocaleargumentmaybeastringspecifyingoneofthelocalesdefinedonthesystem(i.e.,thenameofoneofthesubdirectoriesunder/usr/lib/locale),suchasde_DEoren_US.Alternatively,localemaybespecifiedasanemptystring,mea

c - 除了 POSIX 计时器,Linux 中还有哪些其他计时器 API?

我想在Linux中设计一个计时器,但由于某些系统限制和设计要求,我无法使用POSIX计时器API。有人可以告诉我,除了POSIX计时器之外,Linux中还有哪些可用的计时器设计机制?(要避免timer_create、timer_settime等)提前致谢。编辑:P.S:您提供的任何机制,请您给我一些有用的链接或示例链接注意:我们不能使用任何第三方库(如ACE库),因为我们的代码是专有代码。 最佳答案 查看我的answer.我发现有用的计时器之一是timerfd_create()Linux系统调用中提供的API。当您的应用程序构建在事

c - Posix 正则表达式非捕获组

我正在linux下用C编写一个简单的shell。我正在尝试使用带有组捕获的POSIX正则表达式来解析用户输入。我的问题是我不想捕获所有组,但?:符号desnt似乎对我有用。"^(?:[A-Za-z0-9]+)([A-Za-z0-9]*(?:\"[^\"]*\")*(?:\'[^\']*\')*[A-Za-z0-9]*)*&?$" 最佳答案 在POSIXRegularExpressions中不允许使用(?:..)或任何其他分组前缀.有制作语言的工具,lex&yacc例如,一个简化的yaccPOSIXshell的语法isprovided