2012-10-11 1 views
4

내 광범위한 웹 검색에서 대답이 '아니오'라고 제안 하겠지만 어쩌면 내가 간과 한 것에 대한 질문을하고 싶습니다.신호 처리 및 사용자 관리를위한 Python Unix/Windows 추상화 레이어

는 (등을 비교, 사용자 및 그룹 항목을 받고) (양산, 독립적 인 프로세스) 처리 유닉스와 윈도우 신호 및 사용자 관리의 꼭대기에 앉아 파이썬 추상화 계층이 있습니까? 윈도우와 유닉스는 근본적으로 두 측면에서 차이가 있지만, OS 구체적인 방법은 유사한 작업을 수행 할 것을

예, 알아요. 따라서 추상화 레이어를 만드는 것은 좋지 않은 것 같습니다.

적어도 하위 프로세스 관리 (그리고 특정 하위 프로세스에 신호를 보내려면)에서 찾고있는 가장 가까운 것이 파이썬 다중 처리입니다 (예 : http://docs.python.org/dev/library/multiprocessing.html). 내가 찾고있는 추상화의 종류이지만, 내가 원하는 것을하지는 않습니다.

모든 포인터는 같은 방향으로 가고? Windows에서

모듈 만들기 신호 처리/사용자 관리도 OK 것 유닉스 또는 그 반대처럼 보인다.

+3

"신호의 처리는"신호에 의해 커버되는 (+ os.kill()), 서브 프로세스 모듈. "사용자 관리"(어떤 OS에서 작동하는 코드 예제를 제공하고 다른 OS에서해야 할 일을 설명)에 대한 유스 케이스는 무엇입니까? – jfs

답변

1

파이썬은 이미 신호 처리를위한 추상화의 종류가 있지만 Windows에 제한 않습니다 만 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는이 목적을 위해 그리 많지는 않지만 실제로 인증하는 방법 (로컬, NIS 등 PAM)에 의존합니다. 데비안과 파생물에 의해 사용되는 libuser가 있지만 직접 사용하지는 않았습니다. (http://linuxsoft.cern.ch/cern/slc6X/x86_64/yum/updates/repoview/libuser-python.html)