pid
Nombre: pid
Autor: point_to_null
Origen: original
Lenguaje: sh
Licencia: gpl
Propósito: Muestra los pids de los procesos que machean la expresión regular pasada como argumento. Si no encuentra ninguno devuelve error.
#!/bin/zsh
ps axu|mawk -v buscado="$*" -v pid="$$" -v shell="$0" '
BEGIN{
buscado = tolower(buscado)
split(buscado, lista, " ")
}
$2 != pid && $0 !~ shell{
linea = tolower($0)
for (buscado in lista)
if (linea !~ lista[buscado])
next
resultados[++posicion] = $2
}
END{
for (posicion in resultados)
printf resultados[posicion] " "
if (posicion)
{
printf "\n"
exit 0
}
else
exit 1
}
'
Ejemplos de uso:
Puedo conocer el pid de los procesos. e.g.:
pid xmmsPuedo usar el valor de retorno para tomar decisiones automáticamente. e.g.:
pid xmms||xmms2 playPuedo pasar más de un argumento y serán combinados como adicción lógica:
pid cp home root||sudo cp /home/deimos/web /www