Comments (2)
Hey, @roblabla!
It was done to provide better guarantees for pid_exists
function. Since current implementation is pretty much a copy of psutil
(Python one) library, you can find more details on it here: giampaolo/psutil#1094
from heim.
PSUtil doesn't call pid_exists
when getting a process by pid though. E.G. in psutil, the following:
process = Process(512)
cwd = process.cwd()
Will never call pid_exists
as far as I can tell. pid_exists
is only called in the wait
function, and in the send_signal
function, but only for OpenBSD.
In heim, this equivalent code will call pid_exists
(and thus may call pids
):
let process = heim_process::get(512);
let cwd = process.cwd()
This feels unnecessary. It doesn't actually improve reliability since the process may die between the get
and the cwd
functions, and cwd
(and all other functions on Process) already handle the case where the process dies on us by returning an error.
When the user tries to get
a Process, we shouldn't check if the pid exists (beyond raising an error if getting the create_time
fails) IMO.
from heim.
Related Issues (20)
- RUSTSEC-2021-0072: Task dropped in wrong thread when aborting `LocalSet` task
- Linux memory usage parsing seems to use the wrong unit
- RUSTSEC-2021-0089: Optional `Deserialize` implementations lacking validation
- `boot_time` returns current time on windows
- Is there a sync API ? HOT 1
- Would it be possible to do a release updating nix to >0.19?
- Incorrect memory data
- RUSTSEC-2021-0124: Data race when sending and receiving after closing a `oneshot` channel
- Can't use `sensors::temperatures` function in different thread
- RUSTSEC-2021-0127: serde_cbor is unmaintained
- Compilation of heim-virt 0.0.11 is hanging HOT 2
- Source code mismatch and version confusion HOT 2
- error when compiling heim-net under Ubuntu 18.04 and 20.04
- Building fails on FreeBSD
- Maintained HOT 7
- RUSTSEC-2021-0139: ansi_term is Unmaintained
- RUSTSEC-2020-0168: mach is unmaintained
- Compilation error on RHEL8 on s390x
- RUSTSEC-2024-0019: Tokens for named pipes may be delivered after deregistration
- Failed building heim-host on s390x HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from heim.