Script VI

Pierre Bouvier

Membre actif
31 Mars 2001
559
0
Bonjour

pour approfondir le terminal et VI j'aimerai faire un ou deux scripts.

Voilà actuellement si je change le fichier inetd.conf, pour mettre à jour je dois faire

kill -HUP PID PID étant le numéro du process que l'on peut connaitre par ps -ax | grep inetd

je voudrais faire un script pur relancer le service inetd d'un coup.

On peut récupérer le pid du service grâce à la commande

ps -acx | grep inetd | cut -c "1-4"

mais ensuite comment récupérer la valeur obtenue pour l'écrire derrière kill -HUP.

Voilà mon problème

Pierre
 
voila comment du peux faire:

#!/bin/sh
PID = `ps -acx | grep inetd | awk '{print $1}'`
kill -HUP $PID


c'est pas la seule solution

[25 septembre 2001 : message édité par William]
 
tu mets bien le contenu de script dans un fichier rendu executable?

PID est une simple variable

PID est l'equivalent d'un pointeur, tu accedes a sa valeur par $PID
 
tu as raison,

#!/bin/sh
for PID in `ps -acx | grep inetd | awk '{print $1}'`; do
KILL -HUP $PID;
done

la ca devrais aller,
ou encore

en ramplacant

PID =

par

setenv PID (sans =)

[25 septembre 2001 : message édité par William]
 
Quel est le message d'erreur?
Il faut faire attention aux cotes

[25 septembre 2001 : message édité par William]
 
Voila en utilisant le script et après lancement
(cominetd est le nom du script)

root > ./cominetd

ps -acx | grep inetd | awk {print
KILL: illegal process id: ps
KILL: illegal process id: -acx
KILL: illegal process id: |
KILL: illegal process id: grep
KILL: illegal process id: inetd
KILL: illegal process id: |
KILL: illegal process id: awk
KILL: illegal process id: {print

}
KILL: illegal process id: }

j'ai bien mis les cotes

#!/bin/sh
for PID in 'ps -acx | grep inetd | awk '{print $1}'';do
KILL -HUP $PID;
done

c'est bien ainsi que tu l'as écrit ?

Pierre
 
Non, tu a un probleme de cote

autour du awk c'est celle la '
autour de toute la commande c'est celle la `

j'espere que la difference est visible...
 
Pour tout dire, je travaille sur solaris avec un clavier US
Sur un mac clavier francais, (y en a un a cote)
le ` est sur la meme touche que le 4
et le ' est sous le symbole livre, sous $