MPROCS menjalankan beberapa perintah secara paralel dan menunjukkan output dari setiap perintah secara terpisah.
Saat Anda mengerjakan proyek, Anda sangat sering membutuhkan daftar perintah yang sama untuk dijalankan. Misalnya: webpack serve , jest --watch , node src/server.js . Dengan mProcs Anda dapat mencantumkan perintah ini di mprocs.yaml dan menjalankan semuanya dengan menjalankan mprocs . Kemudian Anda dapat beralih di antara output dari perintah yang berjalan dan berinteraksi dengannya.
Ini mirip dengan secara bersamaan tetapi MPROCS menunjukkan output dari setiap perintah secara terpisah dan memungkinkan untuk berinteraksi dengan proses (Anda bahkan dapat bekerja di VIM di dalam mProcs ).


Unduh dapat dieksekusi untuk platform Anda dan masukkan ke dalam direktori yang termasuk dalam jalur.
npm install -g mprocsyarn global add mprocsbrew install mprocscargo install mprocsscoop install mprocsyay mprocsyay mprocs-bingit clone ' https://mpr.makedeb.org/mprocs '
cd mprocs/
makedeb -simprocs cmd1 cmd2 … (Contoh: mprocs "yarn test -w" "webpack serve" )ATAU
mprocs.yamlmprocs Contoh mprocs.yaml :
procs :
nvim :
cmd : ["nvim"]
server :
shell : " nodemon server.js "
webpack : " webpack serve "
tests :
shell : " jest -w "
env :
NODE_ENV : testSkema Konfigurasi JSON/YAML
Ada dua jenis konfigurasi: global dan lokal. Global Config dimuat dari ~/.config/mprocs/mprocs.yaml (atau ~AppDataRoamingmprocsmprocs.yaml di windows). Konfigurasi lokal dimuat dari mprocs.yaml dari direktori saat ini (atau diatur melalui argumen CLI: mprocs --config ./cfg/mprocs.yaml ). Pengaturan di Pengaturan Konfigurasi Lokal Global .
<CONFIG_DIR> akan diganti dengan jalur direktori tempat konfigurasi berada.x atau saat berhenti MPROCS).Binding kunci default dapat ditimpa dalam konfigurasi menggunakan bidang KEYMAP_PROCS , KEYMAP_TERT , atau KEYMAP_COPY . Perintah yang tersedia didokumentasikan di bagian remote control.
Ada tiga level keymap:
~/.config/mprocs/mprocs.yaml (atau ~AppDataRoamingmprocsmprocs.yaml di windows)./mprocs.yaml (dapat ditimpa oleh -c/-config cli arg) Tuas yang lebih rendah mengesampingkan binding dari level sebelumnya. Binding kunci dari level sebelumnya dapat dihapus dengan menentukan reset: true pada level yang sama dengan kunci.
Ikatan kunci didefinisikan antara < , misalnya, < > <Enter> (masukkan key), <Down> (panah bawah), <Up> (panah atas), <Cq> (ctrl + q).
keymap_procs : # keymap when process list is focused
<C-q> : { c: toggle-focus }
<C-a> : null # unbind key
keymap_term : # keymap when terminal is focused
reset : true
<C-q> : { c: toggle-focus }
<C-j> :
c : batch
cmds :
- { c: focus-procs }
- { c: next-proc } $select OperatorAnda dapat mendefinisikan nilai yang berbeda tergantung pada sistem operasi saat ini. Nilai apa pun dalam konfigurasi dapat dibungkus dengan operator $ pilih . Untuk memberikan nilai yang berbeda berdasarkan OS saat ini, tentukan suatu objek dengan:
$select: osmacos: value . Nilai-nilai yang mungkin tercantum di sini: https://doc.rust-lang.org/std/env/consts/constant.os.html.$else: default value akan dicocokkan jika tidak ada nilai yang ditentukan untuk OS saat ini. Jika OS saat ini tidak cocok dan bidang $else tidak ada, maka MPROCS akan gagal memuat konfigurasi. Contoh mprocs.yaml :
procs :
my process :
shell :
$select : os
windows : " echo %TEXT% "
$else : " echo $TEXT "
env :
TEXT :
$select : os
windows : Windows
linux : Linux
macos : Macos
freebsd : FreeBSD Jika Anda menjalankan MPRocs dengan argumen --npm , itu akan memuat skrip dari package.json . Tetapi skrip tidak dijalankan secara default, dan Anda dapat meluncurkan skrip yang diinginkan secara manual.
# Run mprocs with scripts from package.json
mprocs --npmDaftar proses difokuskan:
q - Berhenti (proses pembunuhan lunak dan tunggu lalu keluar)Q - Force QUIT (Proses Akhiri)Ca - Panel Output Fokusx - Proses Soft Kill yang Dipilih (Kirim Sinyal Sigterm, Hard Kill on Windows)X - Hard Kill Proses yang Dipilih (Kirim Sigkill)s - Mulailah proses yang dipilih, jika tidak berjalanr - Soft Kill Proses yang dipilih dan restart saat berhentiR - Hard Kill Proses yang Dipilih dan mulai ulang saat berhentia - Tambahkan proses baruC - Duplikat Proses yang Dipilihd - Hapus proses yang dipilih (proses harus dihentikan terlebih dahulu)e - Ganti nama proses yang dipilihk atau ↑ - Pilih proses sebelumnyaj atau ↓ - Pilih Proses BerikutnyaM-1 - M-8 -Pilih Proses 1-8Cd atau page down - output gulir ke bawahCu atau page up - Output GulirCe - Gulir output ke bawah oleh 3 barisCy - Gulir output ke atas dengan 3 barisz - Perkecil ke jendela terminalv - Masukkan mode salinFokus output proses:
Ca - Panel Proses FokusMode Salin:
v - Mulai Memilih Titik Akhirc - Salin teks yang dipilihEsc - Tinggalkan Mode SalinCa - Panel Proses FokusCd atau page down - output gulir ke bawahCu atau page up - Output GulirCe - Gulir output ke bawah oleh 3 barisCy - Gulir output ke atas dengan 3 barish atau ↑ - Pindahkan kursor ke atasl atau → - Pindahkan kursor dengan benarj atau ↓ - Pindahkan kursor ke bawahh atau ← - Pindahkan kursor ke kiri Secara opsional, MPROC dapat mendengarkan port TCP untuk perintah jarak jauh. Anda harus mendefinisikan alamat server kendali jarak jauh di mprocs.yaml ( server: 127.0.0.1:4050 ) atau melalui argumen CLI ( mprocs --server 127.0.0.1:4050 ). Untuk mengirim perintah untuk menjalankan instance MPROCS Gunakan argumen CTL : mprocs --ctl '{c: quit}' atau mprocs --ctl '{c: send-key, key: <Cc>}' .
Perintah dikodekan sebagai YAML. Perintah yang tersedia:
{c: quit-or-ask} -berhenti proses dan berhenti. Jika ada proses yang berjalan, tunjukkan dialog konfirmasi.{c: quit} - berhenti proses dan berhenti. Tidak menunjukkan dialog konfirmasi.{c: force-quit}{c: toggle-focus} - sakelar fokus antara daftar proses dan terminal.{c: focus-procs} - Daftar Proses Fokus{c: focus-term} - Jendela Terminal Proses Fokus{c: zoom} - zoom ke jendela terminal{c: next-proc}{c: prev-proc}{c: select-proc, index: <PROCESS INDEX>} - Pilih Proses dengan Indeks, Proses Top memiliki Indeks 0{c: start-proc}{c: term-proc}{c: kill-proc}{c: restart-proc}{c: force-restart-proc}{c: show-add-proc}{c: add-proc, cmd: "<SHELL COMMAND>"}{c: duplicate-proc}{c: show-remove-proc}{c: remove-proc, id: "<PROCESS ID>"}{c: show-rename-proc}{c: rename-proc, name: "<NEW_NAME>"} - Ganti nama proses yang dipilih saat ini{c: scroll-down}{c: scroll-up}{c: scroll-down-lines, n: <COUNT>}{c: scroll-up-lines, n: <COUNT>}{c: copy-mode-enter} -masukkan mode salin{c: copy-mode-leave} -Tinggalkan mode salin{c: copy-mode-move, dir: <DIRECTION> } -Pindahkan posisi start atau ending dari seleksi. Petunjuk yang Tersedia: up/right/down/left .{c: copy-mode-end} -Mulai pilih titik akhir pemilihan.{c: copy-mode-copy} -Salin teks yang dipilih ke clipboard dan tinggalkan mode salin.{c: send-key, key: "<KEY>"} - Kirim tombol ke proses saat ini. Contoh utama: <Ca> , <Enter>{c: batch, cmds: [{c: focus-procs}, …]} - kirim beberapa perintah MPROCS dimaksudkan untuk membuatnya lebih mudah untuk menjalankan perintah spesifik yang akhirnya Anda jalankan berulang kali, seperti kompiler dan pelari uji. Ini berbeda dengan Tmux , yang biasanya digunakan untuk menjalankan proses yang jauh lebih panjang - biasanya shell - di setiap jendela/panel. Perbedaan lain adalah bahwa TMUX menjalankan server dan klien, yang memungkinkan klien untuk melepaskan dan memasang kembali nanti, menjaga proses tetap berjalan. MPROCS lebih dimaksudkan untuk proses seumur hidup yang terbatas yang terus Anda jalankan kembali, tetapi ketika MPROCS berakhir, begitu juga proses yang dijalankan di dalam jendelanya.
TMUX tidak memiliki urutan keluar untuk menyalin yang diaktifkan secara default. Untuk mengaktifkannya menambahkan yang berikut ke ~/.tmux.conf :
set -g set-clipboard on