
Security News
Astral Launches pyx: A Python-Native Package Registry
Astral unveils pyx, a Python-native package registry in beta, designed to speed installs, enhance security, and integrate deeply with uv.
A Ruby interface for gathering process information.
gem install sys-proctable
For version 1.1.5 or earlier, you may need to specify a platform in some cases. For example:
gem install sys-proctable --platform mswin32 # Windows
gem install sys-proctable --platform sunos # Solaris
gem install sys-proctable --platform linux # Linux
gem install sys-proctable --platform freebsd # FreeBSD
gem install sys-proctable --platform darwin # OS X
require 'sys/proctable'
include Sys
# Everything
ProcTable.ps{ |p|
puts p.pid.to_s
puts p.comm
# ...
}
# Just one process
s = ProcTable.ps(pid: 2123)
puts s.pid.to_s
puts s.comm
# ...
# Return the results as an array of ProcTableStructs
a = ProcTable.ps
a.each do |p|
puts p.pid
# ...
end
Various platforms support different options. Mostly this is to let you skip the collection of certain bits of information in order to improve speed and/or reduce memory. For example on Linux you can do this to skip the collection of smaps information:
Sys::ProcTable.ps(smaps: false)
Windows users may send a host name to get process information from a different host. This relies on the WMI service running.
Sys::ProcTable.ps(host: some_host)
A kvm interface is used. That means the owner of the process using the sys-proctable library needs to be a member of the kvm group (or root).
For version 1.1.5 or earlier, Bundler seems to have trouble installing the proper gem because of the platform specific gem names. To deal with that, run this command first:
bundle config specific_platform true
You should not have to do this for version 1.2.0 or later.
The cmdline member on Solaris is limited to 80 characters unless you (or your program) own the process. This is a Solaris design flaw/feature.
The libproc interface is used. That means you will only get list of processes that you have access to. To get a full listing, run as root.
Support for Solaris will probably be dropped in the next major release.
This library was originally based on the Perl module Proc::ProcessTable by Dan Urist. Many ideas, as well as large chunks of code, were taken from his work. So, a big THANK YOU goes out to Dan Urist.
A big thanks also goes out to Mike Hall who was very helpful with ideas, logic and testing.
Thanks also go to Sean Chittenden for providing an account on one of his FreeBSD machines. This is how the FreeBSD support was (initially) added.
Thanks go to James Hranicky for providing a patch that grabs name, eid, euid, gid and guid info in the Linux version, along with some general debugging help.
Thanks go to David Felstead for the original OS X code. Thanks also go to Matthias Zirnstein for adding the original cmdline support for OS X.
Finally I'd like to thank all the folks who have submitted bug reports and/or patches.
I do not have access to all platforms. If your platform is not supported then you will need to either submit a patch or give me a remote account on a box with a compiler so that I can write the code.
See the documentation under the 'doc' directory for more information, including platform specific notes and issues.
Apache-2.0
(C) 2003-2022 Daniel J. Berger All Rights Reserved.
Daniel J. Berger
FAQs
Unknown package
We found that sys-proctable demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Astral unveils pyx, a Python-native package registry in beta, designed to speed installs, enhance security, and integrate deeply with uv.
Security News
The Latio podcast explores how static and runtime reachability help teams prioritize exploitable vulnerabilities and streamline AppSec workflows.
Security News
The latest Opengrep releases add Apex scanning, precision rule tuning, and performance gains for open source static code analysis.