Para responder a pergunta no título, não há nenhuma biblioteca C que faça essa correspondência. Nem mesmo a libprocps faz isso.
killall é um programa simples que:
- calcula o que você deseja comparar com
- efetivamente faz ls on / proc procurando por diretórios com apenas números em seus nomes e corresponde a arquivos nesses diretórios
Por ser genérico (por exemplo, não sabe quais critérios de correspondência um usuário usará de antemão), ele tem muitas correspondências. Você deve saber o que você quer combinar já. Sua pergunta não diz realmente, mas soa como o nome ou a linha de comando.
Eu realmente cautela esta abordagem inteira. Os processos devem ter certeza sobre quais outros processos eles estão tocando. O nome é um jogo terrível, pois eu posso banalizar isso. Considere também que você pode ter dois usuários ou dois sistemas usando o mesmo nome, qual processo deve ser eliminado?
Arquivos PID ou algum outro método que registra o PID no início do programa é muito melhor porque você sabe exatamente de que processo você está falando (a menos que eles bifurcem)
Como Richard aponta acima, o código killall é GPL2 + para que você possa reutilizá-lo com a mesma licença. O projeto foi movido para o gitlab e está no link