shell_client 0.1.0

Rust进程调试工具,封装了与Unix域套接字通信、命令行自动补全、以及内置命令处理等功能。Client 可以连接到一个进程,发送自定义命令,并处理来自该进程的输出。实现了命令行读取、命令解析、进程查找、自动补全、命令执行等功能,并提供了一个循环来不断读取用户输入并执行相应的命令
Documentation
/*!
 * 系统功能封装
 */

use std::process;


/// 获取进程列表
pub fn get_process_list() -> Vec<(String, String)> {
    String::from_utf8(
        process::Command::new("ps")
            .args(["-A", "-o", "pid,comm"])
            .output()
            .unwrap()
            .stdout,
    )
    .expect("decode failed")
    .split("\n")
    .skip(1)
    .filter_map(|x| {
        let sp:Vec<&str> = x.split_whitespace().collect();
        if sp.len() == 2 {
            Some((sp[0].to_owned(),sp[1].to_owned()))
        } else {
            None
        }
    })
    .collect()
}