Se você adicionar -P à linha de comando chpst, o chpst criará um novo grupo de processos para o seu serviço. Então, no seu script 'd' personalizado, você pode ler pid e kill -TERM -pid para enviar o sinal TERM para todo o grupo de processos.
Isso deve funcionar desde que nenhum processo filho crie seu próprio grupo de processos.
No entanto, pode ser mais limpo iniciar o xvfb e o java separadamente (dividi-los em dois serviços runit).