Você pode usar strace -p em uma janela para rastrear um comando em execução em outra janela. A opção -p aceita um ou mais ids de processo, portanto você pode, por exemplo, tentar
strace -p "$(pidof pry)"
se você tiver pelo menos um processo que pidof reconheça como pry . Pode ser necessário experimentar com pidof (se eu quiser usar um comando pudb3 , preciso usar python3 em vez de pudb3 ) e usar pidof pode não ser a melhor abordagem se houver ambigüidade associada a ele (você pode ter vários comandos que correspondem, mas deseja apenas strace um deles). Pode ser mais fácil encontrar o processo certo com ps e fornecer a opção diretamente.
Essa abordagem provavelmente não funcionará bem com um processo de curta duração ou em uma situação em que é importante ver a saída no início da vida do processo, mas para um aplicativo interativo cujo tempo de inicialização não seja especialmente interessante, pode ser viável.
Uma diferença em usar strace -p em oposição a strace sem -p é como as interrupções são tratadas. Um processo lançado por strace terá interrupções como Ctrl-C passado para ele (e relatado por strace ), mas Ctrl-C em strace -p desanexá-lo e permitir que o processo continue sem rastrear (e Ctrl-C ainda funciona no aplicativo, se estiver em uma janela separada).