New ps_apps()
function to list all running applications on macOS.
New function ps_disk_io_counters()
to query disk I/O counters
(#145, @michaelwalshe).
New ps_fs_info()
to query information about the file system of one
or more files or directories.
New ps_wait()
to start an interruptible wait on multiple processes,
with a timeout (#166).
ps_handle()
now allows a numeric (double) scalar as the pid, as long
as its value is integer.
ps_send_signal()
, ps_suspend()
, ps_resume()
, ps_terminate()
,
ps_kill()
, and ps_interrupt()
can now operate on multiple processes,
if passed a list of process handles.
ps_kill()
and ps_kill_tree()
have a new grace
argument.
On Unix, if this argument is not zero, then ps_kill()
first sends a
TERM
signal, and waits for the processes to quit gracefully, via
ps_wait()
. The processes that are still alive after the grace period
are then killed with SIGKILL
.
ps_status()
(and thus ps()
) is now better at getting the correct
status of processes on macOS. This usually requires calling the external
ps
tool. See ?ps_status()
on how to opt out from the new
behavior (#31).
ps_cpu_times()
values are now correct on newer arm64 macOS.ps_name()
now does not fail in the rare case when ps_cmdline()
returns an empty vector (#150).
ps_system_cpu_times()
now returns CPU times divided by the HZ as reported by CLK_TCK, in-line with other OS's and the per-process version. (#144, @michaelwalshe).
No user visible changes.
ps::ps_get_cpu_affinity()
now works for other processes on Linux, not only
the calling process.ps_disk_usage()
, ps_disk_partitions()
and
ps_shared_lib_users()
now do not include a spurious stringsAsFactors
column.ps_system_memory()$percent
now returns a number scaled between 0 and 100
on Windows, rather than between 0 and 1 (#131, @francisbarton).ps now returns data frames instead of tibbles. While data frames and
tibbles are very similar, they are not completely compatible. To convert
the output of ps to tibbles call the tibble::as_tibble()
function
on them.
ps()
now does not fail if both user
and after
are specified (#129).
ps now compiles on platforms that enable OpenMP (#109).
New functions ps_get_cpu_affinity()
and ps_set_cpu_affinity()
to query
and set CPU affinity (#123).
ps_memory_info()
now does not mix up rss
and vms
on Linux.
ps_memory_info()
now reports memory in bytes instead of pages on Linux (#115)
New function ps_system_cpu_times()
to calculate system CPU times.
New function ps_loadavg()
to show the Unix style load average.
New function ps_shared_libs()
to list the loaded shared libraries
of a process, on Windows.
New function ps_shared_lib_users()
to list all processes that
loaded a certain shared library, on Windows.
New function ps_descent()
to query the ancestry of a process.
ps is now under the MIT license.
Process functions now default to the calling R process. So e.g. you can
write simply ps_connections()
to list all network connections of the
current process, instead of ps_connections(ps_handle())
.
New ps_get_nice()
and ps_set_nice()
functions to get and set the
priority of a process (#89).
New ps_system_memory()
and ps_system_swap()
functions, to
return information about system memory and swap usage.
New ps_disk_partitions()
and ps_disk_usage()
functions, they
return information about file systems, similarly to the mount
and
df
Unix commands.
New ps_tty_size()
function to query the size of the terminal.
Fixed an issue in CleanupReporter()
that triggered random failures
on macOS.
ps_cpu_count()
now reports the correct number on Windows, even if
the package binary was built on a Windows version with a different
API (#77).New function errno()
returns a table of errno.h
error codes and
their description.
ps now compiles again on Solaris.
cmd /c ver
looks different (#69).ps_cpu_count()
function returns the number of logical or
physical processors.New ps_connections()
to list network connections. The
CleanupReporter()
testthat reporter can check for leftover open
network connections in test cases.
ps_open_files()
does not include open sockets now on Linux, they are
rather included in ps_connections()
.
CleanupReporter()
now ignores /dev/urandom
, some packages (curl,
openssl, etc.) keep this file open.
Fix ps()
printing without the tibble package (#43).
Fix compilation with ICC (#39).
Fix a crash on Linux (#47).
New ps_num_fds()
returns the number of open files/handles.
New ps_open_files()
lists all open files of a process.
New ps_interrupt()
interrupts a process. It sends a SIGINT
signal on
POSIX systems, and it can send CTRL+C or CTRL+BREAK events on Windows.
New ps_users()
lists users connected to the system.
New ps_mark_tree()
, ps_find_tree()
, ps_kill_tree()
,
with_process_cleanup()
: functions to mark and clean up child
processes.
New CleanupReporter
, to be used with testthat: it checks for
leftover child processes and open files in test_that()
blocks.
First released version.