當前位置: 首頁>>代碼示例>>Python>>正文


Python resource.RLIMIT_NPROC屬性代碼示例

本文整理匯總了Python中resource.RLIMIT_NPROC屬性的典型用法代碼示例。如果您正苦於以下問題:Python resource.RLIMIT_NPROC屬性的具體用法?Python resource.RLIMIT_NPROC怎麽用?Python resource.RLIMIT_NPROC使用的例子?那麽, 這裏精選的屬性代碼示例或許可以為您提供幫助。您也可以進一步了解該屬性所在resource的用法示例。


在下文中一共展示了resource.RLIMIT_NPROC屬性的10個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: test_preexec_fork_failure

# 需要導入模塊: import resource [as 別名]
# 或者: from resource import RLIMIT_NPROC [as 別名]
def test_preexec_fork_failure(self):
        # The internal code did not preserve the previous exception when
        # re-enabling garbage collection
        try:
            from resource import getrlimit, setrlimit, RLIMIT_NPROC
        except ImportError as err:
            self.skipTest(err)  # RLIMIT_NPROC is specific to Linux and BSD
        limits = getrlimit(RLIMIT_NPROC)
        [_, hard] = limits
        setrlimit(RLIMIT_NPROC, (0, hard))
        self.addCleanup(setrlimit, RLIMIT_NPROC, limits)
        try:
            subprocess.call([sys.executable, '-c', ''],
                            preexec_fn=lambda: None)
        except BlockingIOError:
            # Forking should raise EAGAIN, translated to BlockingIOError
            pass
        else:
            self.skipTest('RLIMIT_NPROC had no effect; probably superuser') 
開發者ID:ShikyoKira,項目名稱:Project-New-Reign---Nemesis-Main,代碼行數:21,代碼來源:test_subprocess.py

示例2: report_resource_limits

# 需要導入模塊: import resource [as 別名]
# 或者: from resource import RLIMIT_NPROC [as 別名]
def report_resource_limits(logger: logging.Logger) -> None:
    resources = [
        ('CPU time (seconds)', resource.RLIMIT_CPU),
        ('Heap size (bytes)', resource.RLIMIT_DATA),
        ('Num. process', resource.RLIMIT_NPROC),
        ('Num. files', resource.RLIMIT_NOFILE),
        ('Address space', resource.RLIMIT_AS),
        ('Locked address space', resource.RLIMIT_MEMLOCK)
    ]
    resource_limits = [
        (name, resource.getrlimit(res)) for (name, res) in resources
    ]
    resource_s = '\n'.join([
        '* {}: {}'.format(res, lim) for (res, lim) in resource_limits
    ])
    logger.info("resource limits:\n%s", indent(resource_s, 2)) 
開發者ID:squaresLab,項目名稱:BugZoo,代碼行數:18,代碼來源:util.py

示例3: test_preexec_fork_failure

# 需要導入模塊: import resource [as 別名]
# 或者: from resource import RLIMIT_NPROC [as 別名]
def test_preexec_fork_failure(self):
        # The internal code did not preserve the previous exception when
        # re-enabling garbage collection
        try:
            from resource import getrlimit, setrlimit, RLIMIT_NPROC
        except ImportError as err:
            self.skipTest(err)  # RLIMIT_NPROC is specific to Linux and BSD
        limits = getrlimit(RLIMIT_NPROC)
        [_, hard] = limits
        setrlimit(RLIMIT_NPROC, (0, hard))
        self.addCleanup(setrlimit, RLIMIT_NPROC, limits)
        # Forking should raise EAGAIN, translated to BlockingIOError
        with self.assertRaises(BlockingIOError):
            subprocess.call([sys.executable, '-c', ''],
                            preexec_fn=lambda: None) 
開發者ID:IronLanguages,項目名稱:ironpython3,代碼行數:17,代碼來源:test_subprocess.py

示例4: __find_and_set_higer_system_limits

# 需要導入模塊: import resource [as 別名]
# 或者: from resource import RLIMIT_NPROC [as 別名]
def __find_and_set_higer_system_limits(self):
        resource = get_resource_lib()
        if not resource:
            logger.info('System resource package is not available, cannot increase system limits')
            return
        for (res, res_name) in [(resource.RLIMIT_NPROC, 'number of process/threads'), (resource.RLIMIT_NOFILE, 'number of open files')]:
            self.__find_and_set_higer_system_limit(res, res_name) 
開發者ID:naparuba,項目名稱:opsbro,代碼行數:9,代碼來源:launcher.py

示例5: test_number_processes

# 需要導入模塊: import resource [as 別名]
# 或者: from resource import RLIMIT_NPROC [as 別名]
def test_number_processes(self):
        nprocs = self.soft_limit(resource.RLIMIT_NPROC, 1, 65535)
        prlimit = processutils.ProcessLimits(number_processes=nprocs)
        self.check_limit(prlimit, 'RLIMIT_NPROC', nprocs) 
開發者ID:openstack,項目名稱:oslo.concurrency,代碼行數:6,代碼來源:test_processutils.py

示例6: thread_ulimit

# 需要導入模塊: import resource [as 別名]
# 或者: from resource import RLIMIT_NPROC [as 別名]
def thread_ulimit():
    import resource
    (x, y) = resource.getrlimit(resource.RLIMIT_NPROC)
    resource.setrlimit(
        resource.RLIMIT_NPROC,
        (x - 1000, y)
    )
    yield
    resource.setrlimit(resource.RLIMIT_NPROC, (x, y)) 
開發者ID:Netflix-Skunkworks,項目名稱:jvmquake,代碼行數:11,代碼來源:test_java_opts.py

示例7: thread_ulimit

# 需要導入模塊: import resource [as 別名]
# 或者: from resource import RLIMIT_NPROC [as 別名]
def thread_ulimit():
    import resource
    (x, y) = resource.getrlimit(resource.RLIMIT_NPROC)
    resource.setrlimit(
        resource.RLIMIT_NPROC,
        (32768, y)
    )
    print("\nProcess limit after fixture: {}\n".format(
        resource.getrlimit(resource.RLIMIT_NPROC))
    )
    yield
    resource.setrlimit(resource.RLIMIT_NPROC, (x, y)) 
開發者ID:Netflix-Skunkworks,項目名稱:jvmquake,代碼行數:14,代碼來源:test_basic_ooms.py

示例8: _set_ulimit

# 需要導入模塊: import resource [as 別名]
# 或者: from resource import RLIMIT_NPROC [as 別名]
def _set_ulimit():
    """Limit resources usage for the current process and/or its children.

    Refer to https://docs.python.org/2.7/library/resource.html
    """
    customized_limits = {
        resource.RLIMIT_NOFILE: 1024,
        resource.RLIMIT_NPROC: 128,
        # TODO(lxkong): 50M by default, need to be configurable in future.
        resource.RLIMIT_FSIZE: 524288000
    }
    for t, soft in customized_limits.items():
        _, hard = resource.getrlimit(t)
        resource.setrlimit(t, (soft, hard)) 
開發者ID:openstack,項目名稱:qinling,代碼行數:16,代碼來源:server.py

示例9: _set_ulimit

# 需要導入模塊: import resource [as 別名]
# 或者: from resource import RLIMIT_NPROC [as 別名]
def _set_ulimit():
    """Limit resources usage for the current process and/or its children.

    Refer to https://docs.python.org/2.7/library/resource.html
    """
    customized_limits = {
        resource.RLIMIT_NOFILE: 1024,
        resource.RLIMIT_NPROC: 128,
        # TODO(lxkong): 50M by default, need to be configurable in future.
        resource.RLIMIT_FSIZE: 524288000
    }
    for t, soft in list(customized_limits.items()):
        _, hard = resource.getrlimit(t)
        resource.setrlimit(t, (soft, hard)) 
開發者ID:openstack,項目名稱:qinling,代碼行數:16,代碼來源:server.py

示例10: setProcessLimits

# 需要導入模塊: import resource [as 別名]
# 或者: from resource import RLIMIT_NPROC [as 別名]
def setProcessLimits(x):
        # This is called after fork and before exec. Any messages
        # printed here will look like the program that we are calling
        # printed them out.

        #print("pre switch user")
        if switchUser:
            if os.geteuid() != 0:
                print("We can't switch to a different user if this script is not run as root.")
                exit(1)
            # If we are supposed to switch to a different user account to do the grading
            if os.geteuid() == 0:
                os.setreuid(autograderUid,autograderUid)
            if os.geteuid() == 0:
                print("Still root after trying to switch to autograder user?")
                exit(1)
        else:
            # If we are not switching to a different user, make sure that we don't run as root.
            if os.geteuid() == 0:
                print("Halting. Do not run submitted programs as root.")
                exit(1)
                
        #print("post switch user")
        
        #print("Preexec start")
        if os.setpgrp() == -1:  # put all processes in the same process group so we can kill it and all children it creates.
            print("Failed to set process group!")
        #print("Preexec middle")

        def limitHelper(limitType, limit):
            # limit is a string referring to a previously set environment variable.
            if limit in os.environ:
                limit = int(os.environ[limit])
                (soft, hard) = resource.getrlimit(limitType)
                #print("soft %d, hard %d, requested %d\n" % (soft, hard, limit))
                if hard > 0 and limit > hard:
                    limit = hard
                resource.setrlimit(limitType, (limit, limit))

        limitHelper(resource.RLIMIT_NPROC, "ULIMIT_NPROC")
        limitHelper(resource.RLIMIT_AS, "ULIMIT_AS")
        limitHelper(resource.RLIMIT_DATA, "ULIMIT_DATA") 
開發者ID:skuhl,項目名稱:autograder,代碼行數:44,代碼來源:autograder.py


注:本文中的resource.RLIMIT_NPROC屬性示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。