Скрипт, который выводит по пиду имя процесса. kill допишешь сам. Как и проверку на то, что процесс в самом деле помер ;-)#!/bin/bash
function listing
{
array=$1
if [ ${#array[@]} -eq 0 ]; then
return 1
fi
index=0
for i in ${array[@]}
do
for (( ; ; ))
do
if [ ! -z ${array[$index]} ]; then
printf "$index\t$i\n"
break
else
index=$(($index+1))
fi
done
index=$(($index+1))
done
return 0
}
proc=$(ps -A | grep -v PID | awk '{ print $1, $4 }')
array=( )
count=0
rest=0
for i in $proc
do
let rest=$count%2
if [ $rest -eq 0 ]; then
pid=$i
else
array[$pid]=$i
fi
count=$(($count+1))
done
printf "V - view array\nQ - quit\n"
btn=0
while [ "$btn" != "q" ] || [ "$btn" != "Q" ]
do
echo -n "Enter the PID number: "
read btn
echo "$btn" | grep -i "q" > /dev/null
if [ $? -eq 0 ]; then
exit 0
fi
if [ "$btn" == "v" ] || [ "$btn" == "V" ]; then
listing $array
if [ $? -eq 1 ]; then
echo "Cound not found process list"
exit 1
fi
fi
echo "$btn" | grep [[:alpha:]] > /dev/null
retval=$?
if [ $retval -eq 1 ] && [ ! -z ${array["$btn"]} ]; then
echo "Process with PID $btn named ${array[$btn]}"
else
echo "Process with PID '$btn' was not found"
fi
done