저는 보통 cli 환경에서 별도의 커맨드 관리자를 사용하진 않았습니다. 보통 command snippet 도구인 pet, 그리고 xargs
와 parallel
를 통해 파이프라인 / 병렬 처리를 하는 형태로 많이 사용하는데, 쓸만한 커맨드 관리도구를 하나 찾아서 글로 공유해볼까 합니다.
바로 Pueue 입니다 😁
What is Pueue
pueue는 cli 기반의 쉘 커맨드 관리자입니다. 데몬 형태로 동작하며 명령어를 백그라운드 작업으로 처리하고 관리할 수 있습니다. (등록/삭제/일시정지 등)
당연히 Parallel도 지원하기 때문에 큐에 여러 작업을 넣어놓고 병렬 처리할 수도 있습니다.
https://github.com/Nukesor/pueue
- Rust 기반의 도구입니다. 요즘 rust 기반 도구들이 눈에 잘 들어오네요.
Installation
각 OS별로 패키지 매니저를 거의 지원합니다. rust 기반이라 cargo로 설치할 수도 있습니다.
Cargo
|
|
Homebrew
|
|
다른 설치 방법은 github 참고해주세요.
Daemon
처음에 이야기드렸듯이 pueue는 데몬 기반의 도구입니다. 데몬이 구동되지 않으면 명령어를 추가하거나 상태를 조회하는 등 기본적인 동작 조차 불가능합니다.
pueued
명령을 통해 데몬을 실행할 수 있습니다. -d
옵션은 그냥 cli에서 실행하면 foreground로 동작하는데, 이를 background 처리해줍니다. 자주 사용하게 되시면 각 OS의 시작 프로그램에 등록해두고 사용하시면 편합니다.
|
|
데몬이 실행되면 아래 경로(Mac 기준)에 config 정보가 생성됩니다. 일부 옵션 값들은 명령어로 수정할 수 있지만 config를 직접 수정하는게 좀 더 디테일한 설정이 가능합니다.
- Linux:
$HOME/.config/pueue/pueue.yml.
- MacOs:
$HOME/Library/Preferences/pueue/pueue.yml
- Windows:
%APPDATA%\Local\pueue
|
|
Testing!
현재상태 보기
|
|
명령어 추가
|
|
|
|
명령어 제거
|
|
병렬 수행
parallel 옵션을 통해서 병렬 처리의 갯수를 변경할 수 있습니다. 기본값으론 1로 설정되어 있고, 원하는 숫자를 넣어주어 변경할 수 있습니다. 이는 그룹단위로 적용할 수도 있어서, 특정 그룹에서만 병령 처리를 수행할 수도 있습니다.
|
|
개인적으로 병렬처리는 parallel을 사용하곤 했는데, 매니징까지 고려하면 pueue로 처리하는게 관리하기엔 더 좋을 것 같긴하네요!
|
|