Mprocs - uruchamianie wielu aplikacji shellowych w jednej konsoli

Posted by Adam Aciek Paszkiewicz on nie 29 maja 2022 Updated on nie 29 maja 2022 Translations: en

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:

mprocs

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.

mprocs

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.

mprocs

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.

  1. 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
  2. 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 :)