La commande
ping <dest> &
provoque le ping à l'arrière-plan. Cependant, il imprime toujours la sortie vers le terminal. Ctrl-C ne l'arrête pas, introduit seulement une nouvelle invite. Comment l'arrêter du terminal?
La commande
ping <dest> &
provoque le ping à l'arrière-plan. Cependant, il imprime toujours la sortie vers le terminal. Ctrl-C ne l'arrête pas, introduit seulement une nouvelle invite. Comment l'arrêter du terminal?
Réponses:
Entrez d'abord fgdans le même terminal que votre pingcommande est en cours d'exécution (il met le processus au premier plan), puis appuyez sur Ctrl+ cpour arrêter le processus.
jobspour obtenir une liste des processus qui s'exécutent en arrière-plan.
ffmpeg.
Si c'est votre seul et unique travail d'arrière-plan, vous pouvez le tuer avec kill %1. Si vous n'êtes pas sûr, vous pouvez répertorier tous vos travaux d'arrière-plan avec jobset utiliser kill %<n>où vous remplacez n par le numéro de votre travail ping.
Lorsque vous envoyez un processus à l'arrière - plan, que ce soit à l'aide ctrl- zou &à la fin de la commande, vous obtenez une sortie dans le format suivant: [index] process-id. Si vous envoyez plusieurs processus en arrière-plan, l'index continuera à incrémenter à chaque fois.
Par exemple:
$ 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
Pour en arrêter un spécifique, vous pouvez utiliser kill <process-id>ou utiliser fg <index>suivi de ctrl-c
Exemple utilisant la sortie précédente:
$ kill 41614
ou
$ fg 7
sleep 106
^C
Lancez un nouvel onglet de terminal, lancez:
$ pgrep ping
2564
Ensuite, tuez le pid en utilisant la killcommande:
$ kill 2564
pgreppour rechercher des processus par nom, vous pouvez également utiliser pkillpour les tuer par nom. Pas besoin de taper / copier l'ID du processus et de l'utiliser kill.
L'approche légèrement différente vers un ping continu consiste à utiliser l'option -c et à entrer le nombre de fois que vous voulez qu'il s'exécute, de cette façon, il s'arrêtera après le décompte souhaité, c'est-à-dire que le ping ci-dessous s'arrêtera après 100 pings
ping -c 100192.168.1.1 &
Vous pouvez voir tous les processus que vous mettez en arrière-plan (pour la session en cours) avec la jobscommande Après avoir exécuté cette commande, vous verrez tous les processus qui s'exécutent sur le bash actuel et sur le côté gauche de chaque processus, vous pouvez voir quelques chiffres:
[1]- Running sleep 200000 &
[2]+ Running sleep 300000 &
Vous pouvez simplement terminer des travaux (processus) en utilisant kill -15 n%(n est un nombre qui est dans le signe [[])
-15est pour terminer le processus bien, si vous voulez forcer la fermeture du processus, utilisez simplement à la -9place de -15
PS: Il est évident que si vous exécutez une commande avec le privilège root, vous devez exécuter kill -15 n%avecsudo
2) Vous pouvez voir tous les processus en cours d'exécution sur le système avec ps -auxet pour voir ping:
ps -aux | grep ping
La sortie est comme:
root 2615 0.0 0.0 25828 1052 pts/0 S 02:12 0:00 ping 8.8.8.8
Le deuxième numéro (2615) est PID ou ID de processus et vous pouvez terminer le processus avec
sudo kill -15 2615
pingles itérations avec un nombre --c N- où N est un nombre positif.