Keylogger tastiera WINDOWS 10 e LINUX in Python
Sommario:
- Esegui un comando Linux in background
- Sposta un processo in primo piano sullo sfondo
- Mantieni in esecuzione i processi in background dopo l'uscita di una shell
- alternative
- Schermo
- tmux
- Conclusione
In genere quando si esegue un comando nel terminale, è necessario attendere fino al termine del comando prima di poter immettere un altro. Questo si chiama eseguendo il comando nel processo in primo piano o in primo piano. Quando un processo viene eseguito in primo piano, occupa la shell e puoi interagire con esso utilizzando i dispositivi di input.
Cosa succede se il comando impiega molto tempo per terminare e si desidera eseguire altri comandi nel frattempo? Hai diverse opzioni a tua disposizione. L'opzione più ovvia e semplice è quella di avviare una nuova sessione di shell ed eseguire il comando al suo interno. Un'altra opzione è eseguire il comando in background.
Un processo in background è un processo / comando che viene avviato da un terminale e viene eseguito in background, senza interazione da parte dell'utente., parleremo dei processi in background è Linux. Ti mostreremo come avviare un comando in background e come mantenere il processo in esecuzione dopo la chiusura della sessione della shell.
Esegui un comando Linux in background
Per eseguire un comando in background, aggiungi il simbolo
&
commerciale (
&
) alla fine del comando:
command &
L'ID del lavoro shell (racchiuso tra parentesi) e l'ID processo verranno stampati sul terminale:
25177
Puoi avere più processi in esecuzione contemporaneamente in background.
Il processo in background continuerà a scrivere messaggi sul terminale da cui è stato richiamato il comando. Per sopprimere i messaggi
stdout
e
stderr
utilizzare la sintassi seguente:
command > /dev/null 2>&1 &
>/dev/null 2>&1
significa reindirizzare
stdout
a
/dev/null
e
stderr
a
stdout
.
Utilizzare l'utility
jobs
per visualizzare lo stato di tutti i processi arrestati e in background nella sessione di shell corrente:
jobs -l
L'output include il numero del processo, l'ID processo, lo stato del processo e il comando che ha avviato il processo:
+ 25177 Running ping google.com &
Per portare in primo piano un processo in background, usa il comando
fg
:
fg
fg %1
Per terminare il processo in background, utilizzare il comando
kill
seguito dall'ID processo:
Sposta un processo in primo piano sullo sfondo
Per spostare un processo in primo piano in esecuzione in background:
- Arresta il processo digitando
Ctrl+Z
Sposta il processo interrotto sullo sfondo digitandobg
.
Mantieni in esecuzione i processi in background dopo l'uscita di una shell
Se la connessione si interrompe o ci si disconnette dalla sessione della shell, i processi in background vengono terminati. Esistono diversi modi per mantenere il processo in esecuzione al termine della sessione di shell interattiva.
Un modo è rimuovere il lavoro dal controllo dei lavori della shell usando la shell nascosta incorporata:
disown
disown %1
Verificare che il lavoro sia rimosso dalla tabella dei lavori attivi usando il comando
jobs -l
. Per elencare tutti i processi in esecuzione, incluso quello sconosciuto, utilizzare il comando
ps aux
.
Un altro modo per mantenere in esecuzione un processo dopo l'uscita della shell è usare
nohup
.
Il comando
nohup
esegue un altro programma specificato come argomento e ignora tutti i
SIGHUP
(hangup).
SIGHUP
è un segnale che viene inviato a un processo quando il suo terminale di controllo è chiuso.
Per eseguire un comando in background utilizzando il comando
nohup
, digitare:
nohup command &
L'output del comando viene reindirizzato al file
nohup.out
.
nohup: ignoring input and appending output to 'nohup.out'
alternative
Esistono numerosi programmi che ti consentono di avere più sessioni interattive contemporaneamente.
Schermo
Screen o GNU Screen è un programma multiplexer terminale che consente di avviare una sessione dello schermo e aprire un numero qualsiasi di finestre (terminali virtuali) all'interno di quella sessione. I processi in esecuzione sullo schermo continueranno a essere eseguiti quando la loro finestra non è visibile anche se si viene disconnessi.
tmux
Tmux è una moderna alternativa allo schermo GNU. Con Tmux, puoi anche creare una sessione e aprire più finestre all'interno di quella sessione. Le sessioni di Tmux sono persistenti, il che significa che i programmi in esecuzione in Tmux continuano a funzionare anche se si chiude il terminale.
Conclusione
Per eseguire un comando in background, includere
&
alla fine del comando.
Quando si esegue un comando in background, non è necessario attendere fino al termine prima di poterne eseguire un altro.
nohup fg bg jobs rinnegato terminaleComandi CTRL o comandi di scelta rapida da tastiera per Windows

Che cosa sono i comandi CTRL? Dai un`occhiata a questo elenco completo di scorciatoie da tastiera CTRL che possono essere utilizzate per eseguire facilmente operazioni utili su PC Windows.
Come eseguire il prompt dei comandi come amministratore

Un piccolo suggerimento su come avviare, eseguire o aprire il prompt dei comandi come amministratore o un CMD elevato con privilegi e diritti amministrativi in Windows 10/8/7.
Come eseguire il backup di Windows Phone prima di eseguire l'aggiornamento

Stai pensando di saltare la nave su Windows 10 Mobile? Quindi ecco come è possibile eseguire il backup completo del tuo Windows Phone prima di farlo.