Execute ps -l no ID do processo e verifique a coluna S (“estado”). Se o estado for R , seu processo estará executando o código. Se o processo permanecer no estado R e strace não mostrar que está executando nenhuma chamada do sistema, o processo será interceptado em um cálculo muito longo e possivelmente infinito. Se o processo estiver e permanecer no estado D , ele será bloqueado em uma chamada do sistema. Para obter mais informações sobre estados de processo, consulte O que este processo STAT indica? ? , O que faz o "sono interrompível "indicar estado? e E se? kill -9 'não funciona? .
Se o processo estiver executando uma computação longa, você pode usar o Gdb (ou outro depurador) para ver o que está fazendo. Se o executável não tiver informações de depuração (o que geralmente é o caso se você não compilou o programa especialmente para isso), o depurador só poderá mostrar as instruções da máquina; se o executável contiver informações de depuração, você poderá ver os nomes das funções nos rastreamentos de pilha e assim por diante. Para anexar o Gdb ao processo, execute gdb /path/to/executable 1234 , em que 1234 é o ID do processo. O comando s permite executar instruções uma por vez. A menos que você seja um programador e esteja familiarizado com o que o programa deveria estar fazendo, há poucas chances de obter informações úteis do Gdb nesse cenário.