Il comando
ping <dest> &
fa sì che il ping vada in background. Stampa comunque l'output sul terminale, tuttavia. Ctrl-C non lo interrompe, introduce solo un nuovo prompt. Come fermarlo dal terminale?
Il comando
ping <dest> &
fa sì che il ping vada in background. Stampa comunque l'output sul terminale, tuttavia. Ctrl-C non lo interrompe, introduce solo un nuovo prompt. Come fermarlo dal terminale?
Risposte:
Prima entra fg
nello stesso terminale in cui ping
è in esecuzione il tuo comando (porta il processo in primo piano), quindi premi Ctrl+ cper interrompere il processo.
jobs
per ottenere un elenco di processi in esecuzione in background.
ffmpeg
.
Se è il tuo unico e solo lavoro in background puoi ucciderlo kill %1
. In caso di dubbi, è possibile elencare tutti i processi in background jobs
e utilizzare kill %<n>
dove si sostituisce n con il numero del processo ping.
Quando si invia un processo per lo sfondo, sia utilizzando ctrl- zo &
alla fine del comando, si ottiene un output nel seguente formato: [index] process-id
. Se si inviano più processi in background, l'indice continuerà ad aumentare ogni volta.
Per esempio:
$ sleep 100 &
[1] 41608
$ sleep 101 &
[2] 41609
$ sleep 102 &
[3] 41610
$ sleep 103 &
[4] 41611
$ sleep 104 &
[5] 41612
$ sleep 105 &
[6] 41613
$ sleep 106 &
[7] 41614
Per interrompere uno specifico, è possibile utilizzare kill <process-id>
o utilizzare fg <index>
seguito da ctrl-c
Esempio usando l'output precedente:
$ kill 41614
o
$ fg 7
sleep 106
^C
Avvia una nuova scheda del terminale, esegui:
$ pgrep ping
2564
Quindi uccidi il pid usando il kill
comando:
$ kill 2564
pgrep
per cercare i processi per nome, puoi anche usarli pkill
per ucciderli per nome. Non è necessario digitare / copiare l'id del processo e utilizzarlo kill
.
Un approccio leggermente diverso nei confronti di un ping continuo consiste nell'utilizzare l'opzione -c e immettere il numero di volte in cui si desidera che venga eseguito, in questo modo si arresterà automaticamente dopo il conteggio desiderato, ovvero sotto il ping si fermerà dopo 100 ping
ping -c 100 192.168.1.1 e
Puoi vedere tutto il processo che hai messo in background (per la sessione corrente) con il jobs
comando Dopo aver eseguito questo comando vedrai tutti i processi che sono in esecuzione sulla bash corrente e sul lato sinistro di ogni processo puoi vedere alcuni numeri:
[1]- Running sleep 200000 &
[2]+ Running sleep 300000 &
Puoi semplicemente terminare i lavori (processi) usando kill -15 n%
(n è un numero che è nel segno [[])
-15
serve per terminare bene il processo, se si desidera forzare la chiusura del processo, basta usare al -9
posto di -15
PS: è ovvio se si esegue un comando con privilegio di root, è necessario eseguire kill -15 n%
consudo
2) Puoi vedere tutto il processo in esecuzione sul sistema con ps -aux
e per vedere ping
:
ps -aux | grep ping
L'output è simile a:
root 2615 0.0 0.0 25828 1052 pts/0 S 02:12 0:00 ping 8.8.8.8
Il secondo numero (2615) è PID o ID processo ed è possibile terminare il processo con
sudo kill -15 2615
ping
le iterazioni con un conteggio --c N
- dove N è un numero positivo.