En fait, quel signal représente "0", parce que aquí Je vois des numéros de SIGNAUX commençant par 1.
Réponse
Trop de publicités?
Anthony Rutledge
Points
280
Envoi de la EXIT
ou 0
à une volonté de processus :
- Vérifier l'existence d'un processus.
- Effectuer diverses vérifications d'erreurs sur le processus (PID, PGID, etc...).
- Il n'enverra aucune sortie à
stdout
en cas de succès. - Envoyez un message d'erreur à
stderr
si quelque chose ne va pas. - Vous donner un faux positif si le processus est défunt (c'est-à-dire Zombie).
Plus explicitement, une fonction utile pour vos scripts shell serait :
function isProcess ()
{
kill -s EXIT $1 2> /dev/null
}
Cela ne renvoie aucun texte à stdout
en cas de succès, mais un message d'erreur à stderr
en cas d'échec (mais j'ai redirigé ce message d'erreur vers /dev/null
).
Si vous êtes préoccupé par le statut de processus défunt / zombie alors vous devez utiliser ps
de préférence avec le --no-headers
interrupteur.
#!/bin/ksh
function trim ()
{
echo -n "$1" | tr -d [:space:]
}
function getProcessStatus ()
{
trim $(ps -p $1 -o stat --no-headers)
}
function isZombie ()
{
typeset processStatus=$(getProcessStatus $1)
[[ "$processStatus" == "Z" ]]
return $?
}
- Réponses précédentes
- Plus de réponses
3 votes
linux.die.net/man/1/kill
3 votes
Voir également le Variante Unix.SE de cette question qui diffère de
kill 0
(sans tiret), a expliqué aquí y aquí .