Você pode fazer isso com uma combinação de ps, awk e kill:
ps -eo pid,etime,comm
Fornece uma saída de três colunas, com o PID do processo, o tempo decorrido desde o início do processo e o nome do comando, sem argumentos. O tempo decorrido parece com um desses:
mm:ss
hh:mm:ss
d-hh:mm:ss
Como você quer que os processos estejam em execução há mais de uma semana, procure por linhas que correspondam ao terceiro padrão. Você pode usar o awk para filtrar os processos por tempo de execução e pelo nome do comando, assim:
ps -eo pid,etime,comm | awk '$2~/^7-/ && $3~/mycommand/ { print $1 }'
que irá imprimir os pids de todos os comandos correspondentes a 'mycommand' que estão em execução há mais de 7 dias. Pipe essa lista para matar e pronto:
ps -eo pid,etime,comm | awk '$2~/^7-/ && $3~/mycommand/ { print $1 }' | kill -9