Primeiro, preste atenção em O conselho de Jonathan
Agora que você fez isso, tente algo assim
# Find all process that are owner by "tony"
# - Print out the process id (pid), and the start time (lstart)
# Find all the rows that aren't for today
# Cut that down to just the first field (process id)
PROCS="$(ps -u tony -o pid,lstart | fgrep -v " $( date '+%a %b %d' )" | cut -d' ' -f1)"
# Run through each process and ask it to shutdown
for PROC in $PROCS
do
kill -TERM $PROC
done
# Wait for 10 seconds to give the processes time to stop
sleep 10
# Kill off any processes that still exist
for PROC in $PROCS
do
[ -r /proc/${PROC}/status ] && kill -KILL $PROC
done
Embora você não queira realmente fazer isso.
Todos os processos são anexados às sessões, se você puder descobrir qual era a sua sessão antiga do VNC, deverá ser capaz de eliminar os processos que pertencem a essa sessão, em vez de apenas procurar por processos "antigos".