> ## Documentation Index
> Fetch the complete documentation index at: https://kawax.biz/llms.txt
> Use this file to discover all available pages before exploring further.

# Laravel Multiplex — TUI per gestire insieme i processi di sviluppo locale

> Analisi preliminare di laravel/multiplex. Presenta la terminal UI usata da php artisan dev di Laravel 13, che gestisce più processi con tab, ricerca e riavvio automatico.

## Introduzione

[`laravel/multiplex`](https://github.com/laravel/multiplex) è una terminal UI (TUI) che permette di eseguire più comandi contemporaneamente. È utilizzato da `php artisan dev` di Laravel 13 e permette di gestire in un unico terminale i processi necessari allo sviluppo locale, come server di sviluppo PHP, worker delle code, monitoraggio dei log e Vite.

L'output di ogni processo viene mostrato in una tab e sono supportate la ricerca e lo scroll dell'output. All'uscita, l'output di ogni processo viene riscritto nello scrollback del terminale, così puoi consultare i log anche dopo aver terminato la TUI.

## Installazione ed esecuzione diretta

Nelle applicazioni Laravel `php artisan dev` esegue automaticamente la configurazione necessaria, quindi in genere non serve installare Multiplex direttamente. Per usarlo in modo autonomo, prepara Node.js 22.13 o superiore e installalo con npm.

```bash theme={null}
npm install -g @laravel/multiplex
```

I comandi vanno passati nel formato `label,command`.

```bash theme={null}
multiplex 'server,php artisan serve' 'queue,php artisan queue:listen' 'vite,npm run dev'
```

## TUI e modalità inline

Se stdin e stdout sono un TTY viene avviata la TUI a tab. Con `s` puoi passare alla vista in streaming, con `/` puoi cercare nell'output e con `r` puoi riavviare il processo selezionato. Per uscire usa `q`.

In assenza di un TTY, come su CI o in una pipeline, viene attivata automaticamente la modalità inline. A ogni riga viene aggiunta l'etichetta del processo e l'output viene stampato nell'ordine in cui arriva. Per forzare la modalità inline in modo esplicito, usa `-i`.

```bash theme={null}
multiplex -i 'build,npm run build' 'test,npm test'
```

In modalità inline l'esecuzione termina quando l'ultimo processo esce e il fallimento di un comando è riflesso nel codice di uscita. Per gestire i risultati in formato JSON, usa `--json`.

```bash theme={null}
multiplex --json 'build,npm run build' 'test,npm test'
```

## Riavvio automatico e gestione della terminazione

I processi che vanno in crash vengono riavviati automaticamente, dopo un secondo di attesa, fino a un massimo di cinque volte. I processi che escono entro un secondo dall'avvio non vengono ritentati, perché è probabile che non riescano a partire (per esempio a causa di un eseguibile mancante o di un conflitto sulla porta). Per comandi da eseguire una sola volta, come build o migrazioni, specifica `--no-restart`.

```bash theme={null}
multiplex --no-restart 'build,npm run build'
```

All'uscita o alla ricezione di un segnale, Multiplex termina il process group dei processi figli. Questo evita che rimanga in esecuzione solo il server di sviluppo occupando la porta e permette di fermare più processi in un colpo solo.

## Note

Ai processi figli non viene passato lo stdin. Per questo motivo, comandi che richiedono input come `php artisan tinker` o le conferme durante le migrazioni non possono essere eseguiti da Multiplex. Esegui i comandi interattivi in un altro terminale.

Multiplex mette a disposizione anche un'API programmatica, ma i comandi vengono eseguiti tramite `sh -c`. Non incorporare valori non affidabili, come file di configurazione o dati di richiesta, nelle stringhe dei comandi.

## Riferimenti

* [Documentazione ufficiale Laravel: Artisan - The Dev Command](https://laravel.com/docs/13.x/artisan#the-dev-command)
* [README di laravel/multiplex](https://github.com/laravel/multiplex)


## Related topics

- [Console Artisan](/it/artisan.md)
- [Gestire la compatibilità tra versioni dei pacchetti](/it/advanced/package-versioning.md)
- [Laravel Sail](/it/sail.md)
- [Introduzione a Laravel Nightwatch](/it/blog/nightwatch-introduction.md)
- [Guida allo sviluppo di app con l'API del motore - VOICEVOX for Laravel](/it/packages/laravel-voicevox/app-guide.md)
