He creado un script de bash para eliminar el proceso activo de búsqueda por nombre
pkill.sh
#~/bin/bash
pro='ps aux | grep $1 | grep -v sh | grep -v grep | awk '{print $2}''
if [ !-z "$pro" ]
then
echo $1 process is not running
else
kill -9 $pro
echo $1 process killed forecfully, process id was $pro.
fi
y ejecute este script de shell en el terminal (v 2.8) de la siguiente manera
sh pkill.sh mongod
el trabajo está hecho, pero también da el error
pkill.sh: línea 3: [:! -z: operador unario esperado kill: uso: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... o kill -l [sigspec] el proceso mongod se eliminó de forma forzosa, el identificador del proceso fue.
¿Por qué este script da un error?
Lo intenté con
if[[ !z "$pro ]]
pero no ayuda.
Por favor, dígame cómo escribir un script de bash exactamente válido