Bash esegui il comando in background

Bash Run Command Background



Durante l'utilizzo della riga di comando in Linux, gli utenti di solito devono attendere l'esecuzione di un comando prima di passare a quello successivo. I comandi di solito sembrano funzionare senza intoppi e non richiedono molto tempo nella loro esecuzione. Il cd è l'esempio comune, per il quale gli utenti eseguono semplicemente i comandi e passano rapidamente da una directory all'altra per eseguire funzioni rilevanti e richieste. I comandi vengono eseguiti ed eseguiti in tempi brevissimi, come in pochi secondi e forniscono informazioni utili necessarie all'utente.

A volte, i processi potrebbero richiedere un po' più di tempo per l'esecuzione e completare la sua esecuzione. Questo è quando l'esecuzione uno per uno potrebbe diventare un po' impegnativa per l'utente. Ciò può comportare l'invio o il monitoraggio dell'output nei relativi log. Tali processi potrebbero richiedere inaspettatamente una durata maggiore poiché la compilazione del codice non è sempre fluida. In questo modo, nel frattempo, durante la compilazione, gli utenti potrebbero non essere in grado di accedere al sistema a meno che la compilazione non sia terminata. Durante la compilazione, il terminale non può essere utilizzato fino al termine. Per continuare il normale lavoro durante l'elaborazione di un comando, gli utenti devono sapere come eseguire i comandi in background in Linux. Seguiamo questo tutorial per saperne di più.







Per eseguire il comando in background in Linux Mint 20, devi aprire il terminale a partire dal Menù in basso a sinistra dello schermo, quindi seleziona l'opzione Terminale dall'elenco delle applicazioni disponibili.



Una volta aperto il terminale, ora puoi eseguire comandi in background o inviarli in background secondo i requisiti dell'utente per funzionare senza problemi.



Nota: Per accedere alla bash, l'utente deve disporre di un account sudo con diritti.





Utilizzando & per eseguire un comando in background:

Gli utenti possono eseguire i comandi da eseguire in background se aggiungono il carattere &. Ciò implicherà che mentre i comandi sono in esecuzione, gli utenti possono ancora occuparsi del lavoro pertinente al loro fianco, senza alcuna interruzione. Ad esempio, diamo un'occhiata al comando per aggiungere numeri all'interno di un file di testo.

Qui, l'output sarebbe come un'immagine apposta:



I dati all'interno della parentesi quadra sono il numero di lavoro del processo in background e il successivo set di cifre è l'ID del processo.

Nota: Non appena il processo di cui sopra viene eseguito, riappare il prompt dei comandi, che consente agli utenti di riprendere il proprio lavoro eseguendo i comandi in background secondo i requisiti dell'utente. Se avessimo emesso il comando senza terminarlo con il carattere &, non ci sarebbe stata alcuna interazione con l'utente e sarebbe stato bloccato completamente a meno che l'azione non fosse completata.

Per inviare un comando in esecuzione in background:

Se gli utenti hanno già avviato un determinato comando e mentre stavano utilizzando il loro sistema, la loro riga di comando si blocca, quindi possono sospendere l'esecuzione del loro processo attualmente in primo piano utilizzando ctrl+z per Windows e command+z per sistemi Mac. Metteranno i loro processi in una fase di arresto temporaneo, e quindi li aiuterà a utilizzare l'ID del lavoro, che abbiamo già visto in precedenza e che è stato scritto tra parentesi quadre.

Nota: Questa volta, rimuovi il carattere & che è stato aggiunto in precedenza prima di applicare i tasti ctrl+z.

Il processo in primo piano è ora sospeso e, conoscendo l'ID del lavoro, siamo ora in grado di impostare e regolare lo sfondo. Possiamo farlo semplicemente digitando questo sulla nostra riga di comando:

$bg 1

Qui, come già accennato in precedenza,1 è il nostro ID lavoro. Ora è il momento di controllare lo sfondo con lo stato dei lavori in esecuzione. Digita job -l nella riga di comando, quindi premi invio. L'output mostra il nostro processo in esecuzione in background, come mostrato nello screenshot seguente:

$lavori-l

Il processo è ora di nuovo attivo e in esecuzione in background.

Per portare in primo piano un processo in background:

Gli utenti possono anche portare facilmente in primo piano il processo in background semplicemente usando fg [numero lavoro] accanto ad esso.

$fgnumero di lavoro

Nota: puoi usare qualsiasi numero di lavoro desiderato


Ora, di nuovo, gli utenti possono utilizzare i tasti ctrl+z per sospendere nuovamente il processo. Questo è un modo semplice per portare il processo in primo piano e poi fermarlo.

Per terminare un lavoro in background:

Gli utenti non solo possono eseguire e spostare processi diversi utilizzando i comandi in background, ma possono anche terminare un processo o un processo specifico utilizzando % prima dell'ID. L'esempio seguente mostra lo stesso comando. Digita semplicemente kill %1 perché nel nostro caso abbiamo usato 1.

$uccisione %numero di lavoro

Nel tuo caso, puoi provare a sostituire il numero 1 in grassetto con il tuo numero di lavoro specifico.

Nota: Puoi anche ricontrollare il processo di kill usando job -l. Verrà visualizzato l'elenco di tutti i lavori terminati.

Conclusione:

Quando gli utenti eseguono un comando in background, ora non hanno bisogno di aspettare che finisca prima di eseguire quello successivo in linea. Le opzioni discusse sopra coprono tutte le informazioni correlate per facilitare meglio gli utenti nell'esecuzione e nello spostamento del processo, dei lavori e dei comandi ovunque in base alle loro esigenze, fornendo loro una flessibilità sufficiente. Questo tutorial sarà utile a tutti gli utenti che intendono lavorare su sistema operativo Linux e desiderano lavorare in parallelo con più processi in esecuzione sui propri sistemi. In questo modo, possono inviare i comandi in esecuzione in background o utilizzare l'operatore & aggiungendolo alla fine dei loro comandi e quindi spostandolo in background. I suggerimenti qui menzionati con esempi ti aiuteranno anche a portare i processi in primo piano. Non solo questo, ma puoi anche eliminare un lavoro in background.