job-security

Crates.iojob-security
lib.rsjob-security
version0.1.8
sourcesrc
created_at2023-04-20 12:27:36.220155
updated_at2023-06-09 19:55:54.983349
descriptionUniversal job control
homepage
repositoryhttps://github.com/yshui/job-security
max_upload_size
id844325
size45,622
Yuxuan Shui (yshui)

documentation

README

job-security - job control from anywhere!

job-security is a tool that lets you put your running programs into background, then bring them to the foreground anywhere you want.

It also supplements shells that doesn't natively support job control, such as nushell, elvish, etc.

Demo

termtosvg_053kx7nv

Features

  • normal job control stuff: stopping things and putting them into the background, and resuming them later.
  • job mobility: jobs are not tied to a terminal, you can resume stopped jobs wherever you want.
  • starting/resuming jobs in the background.
  • monitoring job statuses.
  • preserving and retrieving logs from background jobs. output from background jobs won't invade your shell, and can be easily retrieved when needed.

Installation

cargo install job-security

Usage

  • to run a command, use
    jobs run command -- arguments
    
  • to suspend/stop a running program, Ctrl-Z!
  • to resume, use
    jobs continue
    
  • to list all jobs, use
    jobs list
    

Limitations

  • Terminal environment is generally not preserved. jobs tries to preserve the current working directory, and environment variables for the commands it spawns, but not much more. If you define aliases, functions, etc. in your shell, those will not be visible to the command you run.
  • Not all shell expressions are supported. You can run zsh or bash expressions through jobs, as they will be automatically wrap in zsh -c or bash -c. But due to the limitations of other shells (e.g. nushell), commands are run as is, and not interpreted.
Commit count: 32

cargo fmt