feature: Use ps
as fallback to query CPU usage under macOS (#380)
#390
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
When running without elevated permissions under macOS, sysinfo cannot
query states of processes by root user, which results in 0.0% CPU usage
for all this kind of processes (and state = Unknown).
Here we use
ps
, which has SUID, as a fallback to query CPU usages.This can be potentially applied to other properties if needed in the
future (we'll need a proper struct and parser).
Issue
Closes: #380
Type of change
Test methodology
Furthermore, please tick which platforms this change was tested on:
Checklist
cargo test
check)cargo fmt
)Other information
I admit this is quite hacky and I'm not sure if it's worth the effort maintaining, but unfortunately users are not always able to run
btm
with elevated permissions and this has come quite helpful to myself.