summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGiampaolo Rodola <g.rodola@gmail.com>2020-10-22 18:23:04 +0000
committerGiampaolo Rodola <g.rodola@gmail.com>2020-10-22 18:23:04 +0000
commit4d952ebcd4415f9f2b2c805875cc4c132593c997 (patch)
tree62d56fd4be6bfbad51a6330e0a9472fc331a7ca1
parent1552ccd14baf586e8e0e3a3a6fa37b07d65838bb (diff)
downloadpsutil-freebsd-rlimit.tar.gz
update docfreebsd-rlimit
-rw-r--r--docs/index.rst18
-rw-r--r--psutil/_psutil_posix.c4
-rw-r--r--psutil/arch/freebsd/specific.c9
-rwxr-xr-xscripts/procinfo.py5
4 files changed, 22 insertions, 14 deletions
diff --git a/docs/index.rst b/docs/index.rst
index 58df4e99..57f72053 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -1354,7 +1354,11 @@ Process class
(1024, 1024)
>>>
- Availability: Linux
+ Also see `procinfo.py`_ script.
+
+ Availability: Linux, FreeBSD
+
+ .. versionchanged:: 5.7.3 added FreeBSD support
.. method:: io_counters()
@@ -2522,11 +2526,6 @@ Security
To report a security vulnerability, please use the `Tidelift security
contact`_. Tidelift will coordinate the fix and disclosure.
-.. _`Giampaolo Rodola`: https://gmpy.dev/about
-.. _`donation`: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=A9ZS7PKKRM3S8
-.. _Tidelift security contact: https://tidelift.com/security
-.. _Tidelift Subscription: https://tidelift.com/subscription/pkg/pypi-psutil?utm_source=pypi-psutil&utm_medium=referral&utm_campaign=readme
-
Development guide
=================
@@ -2883,13 +2882,12 @@ Timeline
.. _`cpu_distribution.py`: https://github.com/giampaolo/psutil/blob/master/scripts/cpu_distribution.py
.. _`development guide`: https://github.com/giampaolo/psutil/blob/master/docs/DEVGUIDE.rst
.. _`disk_usage.py`: https://github.com/giampaolo/psutil/blob/master/scripts/disk_usage.py
-.. _`donation`: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=A9ZS7PKKRM3S8
.. _`enum`: https://docs.python.org/3/library/enum.html#module-enum
.. _`fans.py`: https://github.com/giampaolo/psutil/blob/master/scripts/fans.py
.. _`GetDriveType`: https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-getdrivetypea
+.. _`GetExitCodeProcess`: https://docs.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-getexitcodeprocess
.. _`getfsstat`: http://www.manpagez.com/man/2/getfsstat/
.. _`GetPriorityClass`: https://docs.microsoft.com/en-us/windows/desktop/api/processthreadsapi/nf-processthreadsapi-getpriorityclass
-.. _`GetExitCodeProcess`: https://docs.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-getexitcodeprocess
.. _`Giampaolo Rodola`: https://gmpy.dev/about
.. _`hash`: https://docs.python.org/3/library/functions.html#hash
.. _`ifconfig.py`: https://github.com/giampaolo/psutil/blob/master/scripts/ifconfig.py
@@ -2917,6 +2915,7 @@ Timeline
.. _`os.times`: https://docs.python.org//library/os.html#os.times
.. _`pmap.py`: https://github.com/giampaolo/psutil/blob/master/scripts/pmap.py
.. _`PROCESS_MEMORY_COUNTERS_EX`: https://docs.microsoft.com/en-us/windows/desktop/api/psapi/ns-psapi-_process_memory_counters_ex
+.. _`procinfo.py`: https://github.com/giampaolo/psutil/blob/master/scripts/procinfo.py
.. _`procsmem.py`: https://github.com/giampaolo/psutil/blob/master/scripts/procsmem.py
.. _`resource.getrlimit`: https://docs.python.org/3/library/resource.html#resource.getrlimit
.. _`resource.setrlimit`: https://docs.python.org/3/library/resource.html#resource.setrlimit
@@ -2929,9 +2928,10 @@ Timeline
.. _`SOCK_SEQPACKET`: https://docs.python.org/3/library/socket.html#socket.SOCK_SEQPACKET
.. _`SOCK_STREAM`: https://docs.python.org/3/library/socket.html#socket.SOCK_STREAM
.. _`socket.fromfd`: https://docs.python.org/3/library/socket.html#socket.fromfd
-.. _`subprocess.Popen`: https://docs.python.org/3/library/subprocess.html#subprocess.Popen
.. _`subprocess.Popen.wait`: https://docs.python.org/3/library/subprocess.html#subprocess.Popen.wait
+.. _`subprocess.Popen`: https://docs.python.org/3/library/subprocess.html#subprocess.Popen
.. _`temperatures.py`: https://github.com/giampaolo/psutil/blob/master/scripts/temperatures.py
.. _`TerminateProcess`: https://docs.microsoft.com/en-us/windows/desktop/api/processthreadsapi/nf-processthreadsapi-terminateprocess
.. _Tidelift security contact: https://tidelift.com/security
.. _Tidelift Subscription: https://tidelift.com/subscription/pkg/pypi-psutil?utm_source=pypi-psutil&utm_medium=referral&utm_campaign=readme
+.. _Tidelift Subscription: https://tidelift.com/subscription/pkg/pypi-psutil?utm_source=pypi-psutil&utm_medium=referral&utm_campaign=readme
diff --git a/psutil/_psutil_posix.c b/psutil/_psutil_posix.c
index f1d2afd6..876b4129 100644
--- a/psutil/_psutil_posix.c
+++ b/psutil/_psutil_posix.c
@@ -15,7 +15,6 @@
#include <sys/socket.h>
#include <sys/ioctl.h>
#include <net/if.h>
-#include <sys/resource.h>
#ifdef PSUTIL_SUNOS10
#include "arch/solaris/v10/ifaddrs.h"
@@ -42,6 +41,9 @@
#elif defined(PSUTIL_AIX)
#include <netdb.h>
#endif
+#if defined(PSUTIL_LINUX) || defined(PSUTIL_FREEBSD)
+ #include <sys/resource.h>
+#endif
#include "_psutil_common.h"
diff --git a/psutil/arch/freebsd/specific.c b/psutil/arch/freebsd/specific.c
index cf281bda..fcfce131 100644
--- a/psutil/arch/freebsd/specific.c
+++ b/psutil/arch/freebsd/specific.c
@@ -1079,6 +1079,9 @@ error:
}
+/*
+ * An emulation of Linux prlimit(). Returns a (soft, hard) tuple.
+ */
PyObject *
psutil_proc_getrlimit(PyObject *self, PyObject *args) {
pid_t pid;
@@ -1114,6 +1117,9 @@ psutil_proc_getrlimit(PyObject *self, PyObject *args) {
}
+/*
+ * An emulation of Linux prlimit() (set).
+ */
PyObject *
psutil_proc_setrlimit(PyObject *self, PyObject *args) {
pid_t pid;
@@ -1122,7 +1128,6 @@ psutil_proc_setrlimit(PyObject *self, PyObject *args) {
int name[5];
struct rlimit new;
struct rlimit *newp = NULL;
-
PyObject *py_soft = NULL;
PyObject *py_hard = NULL;
@@ -1151,9 +1156,7 @@ psutil_proc_setrlimit(PyObject *self, PyObject *args) {
if (new.rlim_max == (rlim_t) - 1 && PyErr_Occurred())
return NULL;
#endif
-
newp = &new;
-
ret = sysctl(name, 5, NULL, 0, newp, sizeof(*newp));
if (ret == -1)
return PyErr_SetFromErrno(PyExc_OSError);
diff --git a/scripts/procinfo.py b/scripts/procinfo.py
index f0605386..8eea3377 100755
--- a/scripts/procinfo.py
+++ b/scripts/procinfo.py
@@ -108,11 +108,14 @@ RLIMITS_MAP = {
"RLIMIT_NICE": "nice",
"RLIMIT_NOFILE": "openfiles",
"RLIMIT_NPROC": "maxprocesses",
+ "RLIMIT_NPTS": "pseudoterms",
"RLIMIT_RSS": "rss",
"RLIMIT_RTPRIO": "realtimeprio",
"RLIMIT_RTTIME": "rtimesched",
+ "RLIMIT_SBSIZE": "sockbufsize",
"RLIMIT_SIGPENDING": "sigspending",
"RLIMIT_STACK": "stack",
+ "RLIMIT_SWAP": "swapuse",
}
@@ -317,7 +320,7 @@ def run(pid, verbose=False):
def main(argv=None):
parser = argparse.ArgumentParser(
description="print information about a process")
- parser.add_argument("pid", type=int, help="process pid")
+ parser.add_argument("pid", type=int, help="process pid", nargs='?')
parser.add_argument('--verbose', '-v', action='store_true',
help="print more info")
args = parser.parse_args()