草庐IT

posix_kill

全部标签

c# - 在 linux 服务上处理 kill - .NET Core 1.1

我想编写一个Linux服务(如Windows服务),但我不知道如何安全地停止该服务。我读过AssemblyLoadContext.Default.Unloading+=MethodInvokedOnSigTerm;但它在.NETCore1.1上不存在。你有什么想法吗? 最佳答案 如果您能够更新您的应用程序以使用.NetCore1.2,可以通过AppDomain.ProcessExit完成事件,但根据thisgithubissue,在.NetCore1.1中这是不可能的.请注意,您至少需要引用Microsoft.NETCore.App

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编写的

python - 命令行 : Python program says "Killed"

我正在从465个网页中提取xml数据,并使用python数据帧将其解析并存储在“.csv”文件中。运行程序30分钟后,程序会保存“200.csv”文件并自行终止。命令行执行显示“已杀死”。但是,当我分别运行前200页和其余265页的程序进行提取时,它运行良好。我已经在互联网上彻底搜索过,这个问题没有合适的答案。你能告诉我可能是什么原因吗?foriinlist:addr=str(url+i+'?&$format=json')response=requests.get(addr,auth=(self.user_,self.pass_))#print(response.content)jso

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