Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/xyproto/easy
:shaved_ice: nice and ionice combined to a single utility, written in pure Go
https://github.com/xyproto/easy
cli drop-in-replacement go ionice linux nice priority utility
Last synced: 2 months ago
JSON representation
:shaved_ice: nice and ionice combined to a single utility, written in pure Go
- Host: GitHub
- URL: https://github.com/xyproto/easy
- Owner: xyproto
- License: gpl-2.0
- Created: 2021-02-03T23:33:51.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2023-07-20T09:55:22.000Z (over 1 year ago)
- Last Synced: 2024-10-05T15:20:05.978Z (3 months ago)
- Topics: cli, drop-in-replacement, go, ionice, linux, nice, priority, utility
- Language: Go
- Homepage:
- Size: 1.67 MB
- Stars: 6
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: COPYING
Awesome Lists containing this project
README
# Easy
Easy implements the functionality of both `nice` and `ionice` without using C.
It's also a drop-in replacement for `ionice` (from util-linux).
* Easy started out as a port of `ionice` to Go, but more functionality has been added since then.
* Easy can also be used to give applications increased I/O priority or niceness.
* Easy may be useful for running ie. Zoom or Chromium on desktop Linux, with a lower I/O priority.## Example use
Run `chromium` in a very relaxed way (nice both in terms of CPU usage and in terms of I/O usage):
easy -c3 -N chromium
The same as above, but with the easier to remember `--both` or `-b` flag:
easy -b chromium
## Differences from `ionice`
These flags are for adjusting the process niceness (from `nice` not `ionice`):
* `-N` or `--nice` can be used to **also** set the process niceness to 10 (same as `nice COMMAND`).
* `-s` or `--setnice` can be used to set the process niceness.
* `-a` or `--adjustment` can be used to adjust the process niceness by the given offset.## Related projects
* `ionice` from util-linux.
* `nice` from coreutils.
* [tinyionice](https://github.com/xyproto/tinyionice) is a fork of `ionice`, in only 300 lines of C.
* [gionice](https://github.com/xyproto/gionice) is a Go module where the core functionality of the `ionice` utility has been ported to Go.## Why
This port exists mainly because I wanted to have a [Go module](https://github.com/xyproto/gionice) for changing the I/O priority of servers written in Go. It was relatively easy to add a port of the `ionice` utility as well, once that was done.
## Requirements
* A recent Go compiler.
* Linux.## Build
go build -mod=vendor
## Install
install -Dm755 easy /usr/bin/easy
gzip easy.1
install -Dm644 easy.1.gz /usr/share/man/man1/easy.1.gz## Dev install with Go 1.17 or later
go install github.com/xyproto/easy@latest
## General info
* Version: 1.5.0
* Licence: GPL2