gpt4 book ai didi

用于信号处理和用户管理的 Python Unix/Windows 抽象层

转载 作者:可可西里 更新时间:2023-11-01 14:25:26 25 4
gpt4 key购买 nike

我想问一个问题,我广泛的网络搜索表明答案是“否”,但也许我忽略了一些事情......

是否有 Python 抽象层位于 Unix 和 Windows 信号处理(用于派生的独立进程)和用户管理(获取用户和组条目,比较它们等)之上?

是的,我知道 Windows 和 Unix 在两个方面都存在根本差异,但操作系统特定的方法确实可以完成类似的任务。所以创建一个抽象层似乎不是一个坏主意。

我发现最接近我正在寻找的东西,至少对于子流程管理(并且在一定程度上“发出信号”那些子流程)是 python-multiprocessing,即 http://docs.python.org/dev/library/multiprocessing.html - 这是我正在寻找的抽象类型,但它并不能完全满足我的要求。

有没有朝这个方向发展的指示?

在 Windows 上使信号处理/用户管理看起来像 Unix 或反之亦然的模块也可以。

最佳答案

Python 确实已经对信号处理进行了某种抽象,但在 Windows 上您仅限于:

signal() 只能用 SIGABRT、SIGFPE、SIGILL、SIGINT、SIGSEGV 或 SIGTERM 调用。在任何其他情况下都会引发 ValueError。

用户管理完全不同:如果你想在两个平台上进行类似的处理,你将不得不自己编写一个包装器:

对于 Windows,查看 win32api(例如 http://timgolden.me.uk/python/win32_how_do_i/check-a-users-credentials.html)

在 Linux/Windows 上也没有太多用于此目的,并且实际上取决于如何进行身份验证(PAM 本地、NIS 等) Debian 使用和派生的 libuser,但我自己从未使用过它。 ( http://linuxsoft.cern.ch/cern/slc6X/x86_64/yum/updates/repoview/libuser-python.html )

关于用于信号处理和用户管理的 Python Unix/Windows 抽象层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12845606/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com