Estou usando o SUSE, mas assumindo que funciona de maneira semelhante no Solaris.
Processo de eliminação para um usuário
Para matar um processo pelo seu ID de usuário, você pode fazer o seguinte
#pkill -U <username>
Verificar processos para um usuário
Se você quiser apenas verificar quais processos estão sendo executados para um usuário em particular antes de eliminar seus processos, você pode usar:
pgrep -U <username
Processo de eliminação para vários usuários
#pkill -U <user1>,<user2>,<user3>
e assim por diante.
Mate todos os usuários, exceto o root
Eu sei que você está evitando sed, awk, grep. Mas é mais fácil escrever um script em vez de digitar cada nome de usuário.
Aqui está uma amostra. Por favor verifique no sanbox antes de executar em produção.
ps -aef |grep -v UID |grep -v root |awk '{print $1}'
|sort -u |while read name
do
echo "Killing process for user $name"
pkill -U $name
done