Se o processo estiver usando algum diretório para criar e excluir arquivos temporários, você provavelmente poderá tentar pará-lo com o comando kill -STOP $pid
e dar uma olhada em / proc / $ pid / fd para descritores de arquivos abertos.
Se não houver nenhum aberto, você pode alterar com segurança o local de montagem, copiar seus arquivos e continuar trabalhando com kill -CONT $pid
.
Se ainda houver arquivos abertos ou não fechados, tente migrar os descritores de arquivos usando o GDB. Eu tentei isso com a mão e funcionou, mas eu encontrei alguns scripts que podem fazer isso para você:
Tenha cuidado se o processo estiver se comunicando pela rede, quando você pará-lo, as conexões podem expirar, então você precisa fazê-lo o mais rápido possível (provavelmente testar a sequência de comandos no processo fictício antes e executá-lo como lote)
Embora eu ache que funcionaria, prefiro que não recomende que você faça isso no ambiente de produção.
EDIT: Você pode ver os sockets de rede abertos em / proc / $ pid / fd, assim você pode determinar se o processo está usando a rede ou não.