Works out if this is running from inside a shell, and if so, which one.

Related tags

Command-line pshell
Overview

pshell

Crates.io Crates.io Build Status docs.rs dependency status

pshell answers the question "Is my application running in a shell, and if so, which one".

Example: you are installing something and want to make changes to the shell and you want to know what changes are required to which shell script.

Usage

Just a simple function that tells you whether the application is run from inside a shell:

use pshell;

fn main() {
    // `find` returns the name of the shell in a string and the pid as a u32
    let (sh, pid) = pshell::find().unwrap_or(("unknown".to_string(), 0));
    println!("This application has been run from pid `{}`, which is a {} shell", pid, sh);
}

To try this out, and check it works OK on your OS/shell combination run the following from your shell:

cargo run --example what_shell

Contribute

I have created a list of shells where this could be run from, it is not exhaustive, if your shell is not supported, feel free to raise an issue or a PR.

Comments
  • Update sysinfo requirement from 0.26.2 to 0.27.0

    Update sysinfo requirement from 0.26.2 to 0.27.0

    Updates the requirements on sysinfo to permit the latest version.

    Changelog

    Sourced from sysinfo's changelog.

    0.27.0

    • Add NetworkExt::mac_address method and MacAddr type.
    • Linux: Fix truncated environment retrieval.
    • Implement TryFrom<usize> and FromStr for Gid and Uid.
    • Implement TryFrom<usize> for Pid.
    • Fix documentation of System::new about CPU list not loaded by default.

    0.26.8

    • Add ProcessExt::session_id method.
    • Linux: Ignore NFS disks.

    0.26.7

    • Apple: Greatly improve disk retrieval (I recommend reading the pull request first comment for more information here: GuillaumeGomez/sysinfo#855).
    • Remove build script.

    0.26.6

    • Add Process::wait.
    • Add "Good pratice" entry into the crate level documentation and in the README.
    • Linux: More precise used memory computation.

    0.26.5

    • Windows: Fix disk information retrieval.
    • Linux: Improve Process document.
    • Linux: Fix a compilation error if the apple-sandbox feature is enabled.
    • Internal code improvements.

    0.26.4

    • Add SystemExt::distribution_id method.
    • Update ntapi version to 0.4.
    • Update minimum supported Rust version (MSRV) to 1.59 for ntapi 0.4.

    0.26.3

    • Update minimum supported Rust version (MSRV) to 1.56 to follow once_cell minor update.

    0.26.2

    • Linux: Fix process information retrieval.
    • Linux: Get more components temperature.
    • Linux: Fix disk name retrieval (which in turn fixed disk type retrieval).

    0.26.1

    • macOS M1: Fix segmentation fault crash.

    ... (truncated)

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Update sysinfo requirement from 0.25.1 to 0.26.1

    Update sysinfo requirement from 0.25.1 to 0.26.1

    Updates the requirements on sysinfo to permit the latest version.

    Changelog

    Sourced from sysinfo's changelog.

    0.26.1

    • macOS M1: Fix segmentation fault crash.

    0.26.0

    • Switch memory unit from kilobytes to bytes.
    • Windows: Fix Windows version display on Windows 11.

    0.25.3

    • Add macOS M1 CI checks.
    • macOS M1: Add temperature support.
    • macOS: Fix leak in disk retrieval.

    0.25.2

    • Windows: Fix Process::exe information retrieval.
    • All supported platforms: Correctly handle a PID owner change (#809).

    0.25.1

    • Linux: Fix potential problem on ProcessExt::exe in case /proc/<pid>/exe cannot be read.
    • Add SystemExt::sort_disks_by.

    0.25.0

    • Linux: CPU frequency is now retrieved on-demand as expected when CpuRefreshKind::frequency is true.
    • System::refresh_cpu behaviour changed: it only computes CPU usage and doesn't retrieve CPU frequency.

    0.24.7

    • Windows: Fix boot time computation.
    • macOS: Fix available memory computation.
    • Some documentation fixes.

    0.24.6

    • macOS: Don't compute CPU usage when elapsed time is 0.
    • macOS: Fix memory leak when retrieving disks.
    • C interface: Fix char cast when platform is using unsigned chars.

    0.24.5

    • Implement Hash trait on Uid and Gid types.
    • Remove dependency once_cell for targets other than linux, android and windows.

    0.24.4

    • Windows: Fix System::refresh_process when required higher priviledges.

    ... (truncated)

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Update sysinfo requirement from 0.25.1 to 0.26.0

    Update sysinfo requirement from 0.25.1 to 0.26.0

    Updates the requirements on sysinfo to permit the latest version.

    Changelog

    Sourced from sysinfo's changelog.

    0.26.0

    • Switch memory unit from kilobytes to bytes.
    • Windows: Fix Windows version display on Windows 11.

    0.25.3

    • Add macOS M1 CI checks.
    • macOS M1: Add temperature support.
    • macOS: Fix leak in disk retrieval.

    0.25.2

    • Windows: Fix Process::exe information retrieval.
    • All supported platforms: Correctly handle a PID owner change (#809).

    0.25.1

    • Linux: Fix potential problem on ProcessExt::exe in case /proc/<pid>/exe cannot be read.
    • Add SystemExt::sort_disks_by.

    0.25.0

    • Linux: CPU frequency is now retrieved on-demand as expected when CpuRefreshKind::frequency is true.
    • System::refresh_cpu behaviour changed: it only computes CPU usage and doesn't retrieve CPU frequency.

    0.24.7

    • Windows: Fix boot time computation.
    • macOS: Fix available memory computation.
    • Some documentation fixes.

    0.24.6

    • macOS: Don't compute CPU usage when elapsed time is 0.
    • macOS: Fix memory leak when retrieving disks.
    • C interface: Fix char cast when platform is using unsigned chars.

    0.24.5

    • Implement Hash trait on Uid and Gid types.
    • Remove dependency once_cell for targets other than linux, android and windows.

    0.24.4

    • Windows: Fix System::refresh_process when required higher priviledges.

    0.24.3

    • macOS: Fix System::refresh_processes badly handling updates.

    ... (truncated)

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Update sysinfo requirement from 0.24.2 to 0.25.0

    Update sysinfo requirement from 0.24.2 to 0.25.0

    Updates the requirements on sysinfo to permit the latest version.

    Changelog

    Sourced from sysinfo's changelog.

    0.25.0

    • Linux: CPU frequency is now retrieved on-demand as expected when CpuRefreshKind::frequency is true.
    • System::refresh_cpu behaviour changed: it only computes CPU usage and doesn't retrieve CPU frequency.

    0.24.7

    • Windows: Fix boot time computation.
    • macOS: Fix available memory computation.
    • Some documentation fixes.

    0.24.6

    • macOS: Don't compute CPU usage when elapsed time is 0.
    • macOS: Fix memory leak when retrieving disks.
    • C interface: Fix char cast when platform is using unsigned chars.

    0.24.5

    • Implement Hash trait on Uid and Gid types.
    • Remove dependency once_cell for targets other than linux, android and windows.

    0.24.4

    • Windows: Fix System::refresh_process when required higher priviledges.

    0.24.3

    • macOS: Fix System::refresh_processes badly handling updates.
    • FreeBSD: Improve performance of System::refresh_processes.

    0.24.2

    • Windows: Fix CPU usage computation.
    • Windows: Enable extra feature on winapi.
    • macOS: Fix executable path retrieval.

    0.24.1

    • Use saturating_* function for mathematical operations to prevent overflows/underflows.

    0.24.0

    • Rename Processor into Cpu and ProcessorExt into CpuExt.
    • Retrieve information about a process' owner.
    • Add SystemExt::get_user_by_id.
    • Add ProcessExt::user_id.
    • Add ProcessExt::group_id.
    • Add user-related methods to ProcessRefreshKind.
    • Linux: Improve performance when creating new Process by improving retrieval of user ID and group ID.

    ... (truncated)

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Update sysinfo requirement from 0.23.9 to 0.24.2

    Update sysinfo requirement from 0.23.9 to 0.24.2

    Updates the requirements on sysinfo to permit the latest version.

    Changelog

    Sourced from sysinfo's changelog.

    0.24.2

    • Windows: Fix CPU usage computation.
    • Windows: Enable extra feature on winapi.
    • macOS: Fix executable path retrieval.

    0.24.1

    • Use saturating_* function for mathematical operations to prevent overflows/underflows.

    0.24.0

    • Rename Processor into Cpu and ProcessorExt into CpuExt.
    • Retrieve information about a process' owner.
    • Add SystemExt::get_user_by_id.
    • Add ProcessExt::user_id.
    • Add ProcessExt::group_id.
    • Add user-related methods to ProcessRefreshKind.
    • Linux: Improve performance when creating new Process by improving retrieval of user ID and group ID.

    0.23.14

    • Linux: Fix processes' virtual memory computation.

    0.23.13

    • macOS/FreeBSD: Fix System::refresh_process and System::refresh_process_specifics returned value.
    • Linux: Small performance improvement when updating process list.

    0.23.12

    • Linux: Improve System::refresh_cpu performance.
    • Fix clippy lints.

    0.23.11

    • Add FreeBSD to the "supported OS" list
    • Remove useless benchmark results

    0.23.10

    • Improve documentation of SystemExt::refresh_cpu.

    0.23.9

    • macOS: Fix disk retrieval

    0.23.8

    • Windows: Fix underflow for Process run_time computation

    ... (truncated)

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Update sysinfo requirement from 0.23.9 to 0.24.1

    Update sysinfo requirement from 0.23.9 to 0.24.1

    Updates the requirements on sysinfo to permit the latest version.

    Changelog

    Sourced from sysinfo's changelog.

    0.24.1

    • Use saturating_* function for mathematical operations to prevent overflows/underflows.

    0.24.0

    • Rename Processor into Cpu and ProcessorExt into CpuExt.
    • Retrieve information about a process' owner.
    • Add SystemExt::get_user_by_id.
    • Add ProcessExt::user_id.
    • Add ProcessExt::group_id.
    • Add user-related methods to ProcessRefreshKind.
    • Linux: Improve performance when creating new Process by improving retrieval of user ID and group ID.

    0.23.14

    • Linux: Fix processes' virtual memory computation.

    0.23.13

    • macOS/FreeBSD: Fix System::refresh_process and System::refresh_process_specifics returned value.
    • Linux: Small performance improvement when updating process list.

    0.23.12

    • Linux: Improve System::refresh_cpu performance.
    • Fix clippy lints.

    0.23.11

    • Add FreeBSD to the "supported OS" list
    • Remove useless benchmark results

    0.23.10

    • Improve documentation of SystemExt::refresh_cpu.

    0.23.9

    • macOS: Fix disk retrieval

    0.23.8

    • Windows: Fix underflow for Process run_time computation

    0.23.7

    • macOS: Ignore non-root drive partitions

    0.23.6

    ... (truncated)

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Update sysinfo requirement from 0.26.2 to 0.27.1

    Update sysinfo requirement from 0.26.2 to 0.27.1

    Updates the requirements on sysinfo to permit the latest version.

    Changelog

    Sourced from sysinfo's changelog.

    0.27.1

    • Unix systems: Fix network address segfault issue.

    0.27.0

    • Add NetworkExt::mac_address method and MacAddr type.
    • Linux: Fix truncated environment retrieval.
    • Implement TryFrom<usize> and FromStr for Gid and Uid.
    • Implement TryFrom<usize> for Pid.
    • Fix documentation of System::new about CPU list not loaded by default.

    0.26.8

    • Add ProcessExt::session_id method.
    • Linux: Ignore NFS disks.

    0.26.7

    • Apple: Greatly improve disk retrieval (I recommend reading the pull request first comment for more information here: GuillaumeGomez/sysinfo#855).
    • Remove build script.

    0.26.6

    • Add Process::wait.
    • Add "Good pratice" entry into the crate level documentation and in the README.
    • Linux: More precise used memory computation.

    0.26.5

    • Windows: Fix disk information retrieval.
    • Linux: Improve Process document.
    • Linux: Fix a compilation error if the apple-sandbox feature is enabled.
    • Internal code improvements.

    0.26.4

    • Add SystemExt::distribution_id method.
    • Update ntapi version to 0.4.
    • Update minimum supported Rust version (MSRV) to 1.59 for ntapi 0.4.

    0.26.3

    • Update minimum supported Rust version (MSRV) to 1.56 to follow once_cell minor update.

    0.26.2

    • Linux: Fix process information retrieval.
    • Linux: Get more components temperature.
    • Linux: Fix disk name retrieval (which in turn fixed disk type retrieval).

    ... (truncated)

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Update sysinfo requirement from 0.25.1 to 0.26.2

    Update sysinfo requirement from 0.25.1 to 0.26.2

    Updates the requirements on sysinfo to permit the latest version.

    Changelog

    Sourced from sysinfo's changelog.

    0.26.2

    • Linux: Fix process information retrieval.
    • Linux: Get more components temperature.
    • Linux: Fix disk name retrieval (which in turn fixed disk type retrieval).

    0.26.1

    • macOS M1: Fix segmentation fault crash.

    0.26.0

    • Switch memory unit from kilobytes to bytes.
    • Windows: Fix Windows version display on Windows 11.

    0.25.3

    • Add macOS M1 CI checks.
    • macOS M1: Add temperature support.
    • macOS: Fix leak in disk retrieval.

    0.25.2

    • Windows: Fix Process::exe information retrieval.
    • All supported platforms: Correctly handle a PID owner change (#809).

    0.25.1

    • Linux: Fix potential problem on ProcessExt::exe in case /proc/<pid>/exe cannot be read.
    • Add SystemExt::sort_disks_by.

    0.25.0

    • Linux: CPU frequency is now retrieved on-demand as expected when CpuRefreshKind::frequency is true.
    • System::refresh_cpu behaviour changed: it only computes CPU usage and doesn't retrieve CPU frequency.

    0.24.7

    • Windows: Fix boot time computation.
    • macOS: Fix available memory computation.
    • Some documentation fixes.

    0.24.6

    • macOS: Don't compute CPU usage when elapsed time is 0.
    • macOS: Fix memory leak when retrieving disks.
    • C interface: Fix char cast when platform is using unsigned chars.

    0.24.5

    ... (truncated)

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Update sysinfo requirement from 0.24.2 to 0.25.1

    Update sysinfo requirement from 0.24.2 to 0.25.1

    Updates the requirements on sysinfo to permit the latest version.

    Changelog

    Sourced from sysinfo's changelog.

    0.25.1

    • Linux: Fix potential problem on ProcessExt::exe in case /proc/<pid>/exe cannot be read.
    • Add SystemExt::sort_disks_by.

    0.25.0

    • Linux: CPU frequency is now retrieved on-demand as expected when CpuRefreshKind::frequency is true.
    • System::refresh_cpu behaviour changed: it only computes CPU usage and doesn't retrieve CPU frequency.

    0.24.7

    • Windows: Fix boot time computation.
    • macOS: Fix available memory computation.
    • Some documentation fixes.

    0.24.6

    • macOS: Don't compute CPU usage when elapsed time is 0.
    • macOS: Fix memory leak when retrieving disks.
    • C interface: Fix char cast when platform is using unsigned chars.

    0.24.5

    • Implement Hash trait on Uid and Gid types.
    • Remove dependency once_cell for targets other than linux, android and windows.

    0.24.4

    • Windows: Fix System::refresh_process when required higher priviledges.

    0.24.3

    • macOS: Fix System::refresh_processes badly handling updates.
    • FreeBSD: Improve performance of System::refresh_processes.

    0.24.2

    • Windows: Fix CPU usage computation.
    • Windows: Enable extra feature on winapi.
    • macOS: Fix executable path retrieval.

    0.24.1

    • Use saturating_* function for mathematical operations to prevent overflows/underflows.

    0.24.0

    • Rename Processor into Cpu and ProcessorExt into CpuExt.
    • Retrieve information about a process' owner.

    ... (truncated)

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
Owner
Alec Brown
Alec Brown
Check if the process is running inside Windows Subsystem for Linux (Bash on Windows)

is-wsl Check if the process is running inside Windows Subsystem for Linux (Bash on Windows) Inspired by sindresorhus/is-wsl and made for Rust lang. Ca

Sean Larkin 6 Jan 31, 2023
verilot (verifiable lottery) is a command line tool for running and verifying one-time lotteries.

verilot verilot (verifiable lottery) is a command line tool for running and verifying one-time lotteries. Install Install Rust and Cargo with Rustup.

Shelby Doolittle 9 Oct 10, 2022
A tool to format codeblocks inside markdown and org documents.

cbfmt (codeblock format) A tool to format codeblocks inside markdown, org, and restructuredtext documents. It iterates over all codeblocks, and format

Lukas Reineke 126 May 26, 2023
rusty-donut - ASCII raymarching inside a terminal

ASCII raymarching inside a terminal

drip 14 Feb 9, 2022
Shared execution environment for constructing 3D virtual spaces from the inside.

Hearth Hearth is a shared, always-on execution environment for constructing 3D virtual spaces from the inside. Come join our Discord server! The Histo

null 6 Jan 31, 2023
Show HTML content "inside" your egui rendered application

hframe Show HTML content "inside" your egui rendered application. "hframe" stands for "HTML Frame". Note: hframe only works when the application is co

Franco Profeti 3 Feb 26, 2024
Kusa is a simple CLI tool that works on any platform and displays GitHub contribution graphs.

Kusa is a simple CLI tool that works on any platform and displays GitHub contribution graphs. Installation Homebrew (only macOS) $ brew tap Ryu0118/Ku

Ryu 103 Jun 18, 2023
Fuzzy Index for Python, written in Rust. Works like error-tolerant dict, keyed by a human input.

FuzzDex FuzzDex is a fast Python library, written in Rust. It implements an in-memory fuzzy index that works like an error-tolerant dictionary keyed b

Tomasz bla Fortuna 8 Dec 15, 2022
A Windows virtual display driver written in Rust (works with VR, etc)

Virtual Display Driver This is a Windows driver made in Rust which creates a virtual desktop. It has many uses, such as: A private virtual desktop for

Cherry 28 Sep 19, 2023
A chat to help users understand lessons from St. Josemaria Escriva's works

A chat to help users understand lessons from St. Josemaria Escriva's works. I'll be using Rust, OpenAI API, and qdrant vector database. Non-profit code, only looking forward to enlightening minds.

Eduardo Lemos 3 Nov 9, 2023
Warp is a blazingly fast, Rust-based terminal that makes you and your team more productive at running, debugging, and deploying code and infrastructure.

Warp is a blazingly fast, Rust-based terminal that makes you and your team more productive at running, debugging, and deploying code and infrastructure.

Warp 10.4k Jan 4, 2023
Scriptable tool to read and write UEFI variables from EFI shell. View, save, edit and restore hidden UEFI (BIOS) Setup settings faster than with the OEM menu forms.

UEFI Variable Tool (UVT) UEFI Variable Tool (UVT) is a command-line application that runs from the UEFI shell. It can be launched in seconds from any

null 4 Dec 11, 2023
Horus is an open source tool for running forensic and administrative tasks at the kernel level using eBPF, a low-overhead in-kernel virtual machine, and the Rust programming language.

Horus Horus is an open-source tool for running forensic and administrative tasks at the kernel level using eBPF, a low-overhead in-kernel virtual mach

null 4 Dec 15, 2022
Rust Server Components. JSX-like syntax and async out of the box.

RSCx - Rust Server Components RSCx is a server-side HTML rendering engine library with a neat developer experience and great performance. Features: al

Antonio Pitasi 21 Sep 19, 2023
🐢 Atuin replaces your existing shell history with a SQLite database, and records additional context for your commands

Atuin replaces your existing shell history with a SQLite database, and records additional context for your commands. Additionally, it provides optional and fully encrypted synchronisation of your history between machines, via an Atuin server.

Ellie Huxtable 4.6k Jan 1, 2023
Self-contained template system with Handlebars and inline shell scripts

Handlematters Self-contained template system with Handlebars and inline shell scripts Introduction Handlematters is a template system that combines Ha

Keita Urashima 3 Sep 9, 2022
A Unix shell written and implemented in rust 🦀

vsh A Blazingly fast shell made in Rust ?? Installation Copy and paste the following command and choose the appropriate installtion method for you. Yo

XMantle 89 Dec 18, 2022
Application microframework with command-line option parsing, configuration, error handling, logging, and shell interactions

Abscissa is a microframework for building Rust applications (either CLI tools or network/web services), aiming to provide a large number of features w

iqlusion 524 Dec 26, 2022
☄🌌️ The minimal, blazing-fast, and infinitely customizable prompt for any shell

☄??️ The minimal, blazing-fast, and infinitely customizable prompt for any shell

Starship Command 31.6k Dec 30, 2022