Mprocs - czadowy sposób na uruchamianie wielu aplikacji shellowych w jednej konsoli
Przy przeszukiwaniu internetu szukając czegoś ciekawego zupełnym przypadkiem natrafiłem na bardzo fajny projekt, który został napisany w języku Rust - czyli w dość młodym języku chociaż nie oprogramowaniu będę tutaj mówił. Projekt nazywa się mprocs i według mnie jest z całą pewnością wart uwagi. Do czego służy mprocs zawarłem już w temacie ale może rozwinę to trochę.
Mprocs ma na celu umożliwienie równoległego uruchamiania procesów w jednym oknie shell w taki sposób żeby można było się pomiędzy nimi w łatwy sposób przełączać i to w naprawdę prosty sposób ze świetną prezentacją tego w konsoli. Zobaczcie poniżej jak to rzeczywiście wygląda:
Może w krótkich, żółnierskich słowach opiszę akurat co tutaj uruchomiłem co unaoczni możlwości jakie daje nam mprocs i w jaki sposób usprawnia nam pracę, a przy okazji pokażę jak się poruszać między okienkami oraz jakie funkcje mamy do dyspozycji odnosnie uruchomionych procesów.
Na początek odpalę sobie procesy, które mnie - na potrzeby tego artykułu - interesują. Chcę odpalić kilka procesów jednocześnie:
- bash - tutaj będę się bawił w Vim pisząc ten artykuł
- pelikan -r -l - czyli serwerek gdzie podglądam sobie to co piszę po wygenerowaniu bloga
- atop - monitor pracy systemu i procesów
- htop - inny monitor systemu i procesów
- pelican content - wygenerowanie całości bloga
A jak to zrobić? Wystarczy wykonać polecenie:
mprocs bash "pelican -r -l" atop htop "pelican content"
W lewej części terminala mamy listę procesów, a z prawej terminal.
Przełączanie się między oknem procesów, a oknem terminala jest banalnie proste bo wystarczy użyć kombinacji klawiszy:
control + a
Zresztą najważniejsze rzeczy jakie możemy zrobić i w jaki sposób się poruszać zapisane jest u dołu ekranu mprogs w sekcji Help.
W naszym przypadku jak widać pelican content jest w statusie Down ponieważ przy uruchomieniu mprogs wykonało się generowanie zawartości i proces się zatrzymał. Chcąc uruchomić go ponownie wystarczy ustawić się na pelican content i nacisnąć klawisz s. Na moment proces ustawi się w status Up, a po zakończeniu znowu ustawi się na Down. Prawda, że proste?
Dla porządku wymieńmy wszystkie dostępne opcje (również te, które w Help nie są wymienione):
- Control + a - przełączanie się pomiędzy Processes, a Terminal
- q - wyjście z programu (soft)
- Q - wyjście z programu (force kill)
- j - następny
- k - poprzedni
- s - start
- x - stop (soft kill)
- X - stop (hard kill)
- r - restart (soft kill)
- R - restart (hard kill)
- Control + d - scroll w dół
- Control + u - scroll w górę
Oczywiście poruszać po procesach można się również za pomocą strzałek, a w przypadku dużej listy page up, page down. Na koniec jeszcze może dodam dwie rzeczy.
- Mprogs dopuszcza stworzenie sobie jsona, który będzie zawierał jakie procesy z jakimi atrybutami mają zostać uruchomione domyślnie wtedy nie potrzeba wpisywać ich z palca. Dokładny opis znajduję się na stronie projektu mprocs
- Mprogs można postawić na wielu systemach operacyjnych więc zarówno fani Windows jak i Maców czy Linuxów mogą tego używać. Ja osobiście zainstalowałem aplikację za pomocą cargo czyli menedżera pakietów języka Rust ale jak ktoś chce to zrobić w inny sposób to zajrzyjcie tutaj
Mnie osobiście - chociaż dopiero co poznałem to narzędzie - bardzo spodobał się mprocs i jak widać na przykładzie z życia może być przydatny więc brawa dla autora :)
Ave :)