Aller au contenu
Règlement du forum ×
IPTV et arnaques ×

[Astuce] ping sous GNU/Linux


ButterflyOfFire

Messages recommandés

Généralement, lorsque l'on ping une destination, un nom de domaine ou une adresse IP et afin d'arrêter le ping, nous faisons CTRL+C.

 

Comme sur cette image :

 

3444390440_af52298d1f.jpg

Et maintenant, imaginons que nous voulons laisser le ping continuer et en même temps faire autre chose avec le même terminal ?

 

Lançons un ping puis au lieu d'appuyer sur CTRL+C, appuyons plutot sur CTRL+Z :

 

ça nous donnera ceci :

3443574009_82f42c0d56_o.png

Vous voyez bien la mention [1]+ Stopped qui ne veut pas dire que le processus est stoppé mais au fait le ping continue en tâche de fond.

 

Vous pouvez lancer comme ça une série de ping et les laisser tourner en tache de fond et à chaque fois vous quitter avec CTRL+Z et non pas tuer le processus avec CTRL+C.

 

Comment arrêter alors ces requetes de ping ?

 

Tapez la commande fg

Ainsi vous retrouverez toutes les requêtes de ping lancées auparavant et là, un simple CTRL+C pour arrêter les ping un par un :)

 

Un peu comme dans cette illustration :

3444390632_fb5630221a_o.png

Jusqu'à ce que vous voyez le message :

bash: fg: current : tâche inexistante

 

Merci de m'avoir lu

Salutations amicales

Lien vers le commentaire
Partager sur d’autres sites

salam

 

une simple précision:

le ctrl-z veut bien dire envoyer un signal SIGTSTP (signal interactive pour suspendre le processus) le programme cible sera bien stoppé, d'ailleur la commande "$ ps s" le champ (STAT == T) stopped

 

 

alors on va progiter pour continuer un peut :)

pour pouvoir utiliser c'est caractères il faut que le shell supporte le job control (ex: bash)

JOB CONTROL == controler l'état des processus

 

 

pour avoir la liste des caractères et signaux de votre terminal:

 

$ stty -a

speed 38400 baud; rows 25; columns 86; line = 0;

intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = ; eol2 = ;

swtch = ; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V;

flush = ^O; min = 1; time = 0;

 

resultas:

interuption == ctrl-c, stop == ctrl-s, start == ctrl-q,

suspend == ctrl-z, end of file == ctrl-d

 

 

simple addition sur les signaux:

sachant que stop SIGSTOP est envoyé par "ctrl-s" ou "$ kill -s 19 PID" et ne peut etre bloqué par le processus target ansi que le signal SIGKILL: (tuer) "$ kill -s 9 PID"

par contre le SIGTSTP "ctrl-z" ou "$ kill -s 20 PID" peut etre bloqué par un gestionnaire installé par le programme target (qui a le pid == PID), mais dans le cas contraire il va etre suspendu est le shell sera retourné.

il y a aussi le "ctrl-y" qui va suspendre le processus lorsque ce dernier va lire depuis l'entrée du terminal et nous renvoyer le shell.

une liste des signaux est disponible avec la commande "$ kill -l" (not all of them are standard)

 

 

JOBS CONTROL:

pour démmarer le programme en arrière plan "$ command &", il va continuer son éxécution biensure.

 

maintenant revenons a notre cas ctrl-z (processus suspendu), pour RELANCER le processus:

  • en arrière plan:
    "$ bg" ou "$ bg %1" etc
     
  • en avant plan (plus de shell):
    "$ fg" ou "* fg %1" etc

 

Notes:

  • a tout moment on peut faire "$ jobs" pour avoir la liste des jobs
  • % fait référence sur le job courant
  • %n fait référence sur le job numéroté n (voir la commande jobs), ... etc
  • il y a aussi la commande "$ trap cmd signals" qui va essyer d'éxécuter la cmd lorsque le shell reçoi les signaux signals
  • ces signaux sont envoyés au group (group de processus en forground, background, ... j'arrete :) )
  • pour envoyer un signal a un processus il faut bien avoir les privilèges pour le faire (user id, real id ...)
  • le nouveau processus (fork) va hériter des STDIN: lecture, STDOUT: écriture, STDERR: écriture d'erreur, de son père (bash), ainsi que d'autres propriétés (mask de signaux, mode de création de fichier umask, etc )

 

inchallah avec du TRAVAIL:

$ echo "ALGERIANS NINJAS"{" shells"," programming"," networking"," ..."}" -"

 

 

PS: si j'ai fait une faute slvpl veulliez me corriger

PS: bien sure j'éspère qu'il y aura un autre membre qui va encore expliquer mieu que moi

$ whoami

/dev/null :p

 

bon courage, salam.

Modifié par tixxDZ
Lien vers le commentaire
Partager sur d’autres sites

Non, je dirais plutôt qu'il joue avec son dédier en SSH ;)

 

12ms, c'est mieux que mon Ethernet local :D

 

En tout cas Merci pour l'astuce :)

 

Salut Mouradski_21 :)

J'ai pingé à partir de ma Freebox :) Il s'agit bien de ma ligne téléphonique et non pas de mon serveur dédié.

 

Voici une autre capture d'écran (clique dessus pour l'agrandir) :

3447245072_96af1bea34_m.jpg

 

Quant à l'explication de TixxDZ, je n'ai rien à rajouter :) J'en ai même appris des choses :)

 

Excellent TixxDZ merci kho :)

Salutations amicales

Lien vers le commentaire
Partager sur d’autres sites

@amarsoft

allah iberk fik khoya, mais c'est encore insuffisant (en doit concurrencer les meilleurs) et inchallah :)

 

une simple astuce: lire et relire les man (page man) de chaque programme, commande, function et on finira biensure par assimiler quelque chose.

 

salam

Lien vers le commentaire
Partager sur d’autres sites

  • 11 months later...
y'a un truc ..quand je clique sur CTRL+Z ...le ping s'arrête chez moi ! y'a stopped !!

 

C'est logique.

 

 

# ping google.fr

* ^Z (CTRL-Z) : le ping est suspendu (stoppé) avec [Ctrl]-[Z]*

 

 

# bg : mettre en arrière plan et continue de fonctionner

 

 

# jobs -l : Liste des processus en background

 

[1] - 30000 Running ping google.fr

[2] + 30001 Suspended (tty output) top

 

 

# fg %1 : nous ramenons au premier plan le processus de numéro de job 1 par la commande fg %1

 

 

http://i43.tinypic.com/rw5umw.png

Modifié par Chevrosky
Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...