Skip to main content

descendants

Function descendants 

Source
pub fn descendants(store: &impl ProcessStore, pid: u32) -> Vec<u32>
Expand description

Get all descendants of a PID (BFS traversal).

use proc_tree::{DefaultStore, descendants, ProcessStore, ProcessInfo};

let store = DefaultStore::new(0);
store.insert_process(1, ProcessInfo::new("init".into(), "init".into(), "root".into(), 0, 1, 0));
store.insert_process(100, ProcessInfo::new("a".into(), "a".into(), "root".into(), 1, 100, 0));
store.insert_process(200, ProcessInfo::new("b".into(), "b".into(), "root".into(), 100, 200, 0));
store.insert_process(300, ProcessInfo::new("c".into(), "c".into(), "root".into(), 200, 300, 0));

let mut desc = descendants(&store, 1);
desc.sort();
assert_eq!(desc, vec![100, 200, 300]);
assert_eq!(descendants(&store, 300), Vec::<u32>::new());