Se você tiver acesso ao código fonte, você pode usar a função tmpfile()
para criar um arquivo temporário "anônimo" - um arquivo é criado e imediatamente desvinculado - o aplicativo pode gravar nele, mas assim que o arquivo é fechado o espaço ocupado pelo arquivo é liberado. Esta é uma maneira comum de criar arquivos temporários no Unix, como eu entendo.
Se você não tiver acesso ao código-fonte, tente excluir apenas tudo de /tmp/myapp/$pid/
periodicamente - o processo ainda será capaz de gravar no arquivo, mesmo que esteja desvinculado de o diretório, mas novamente o espaço em disco será liberado assim que o último identificador de arquivo for fechado.
As abordagens acima não funcionariam se algum arquivo temporário fosse aberto, fechado e aberto novamente ou se fosse usado por vários processos.
Pergunta relacionada em stackoverflow: link