Existem várias maneiras de marcar as instâncias de um processo. Você pode fazer isso por meio do nome do comando na lista de processos (por exemplo, matlab_1
em vez de matlab
) ou por meio de uma variável de ambiente. Usar o PID também é possível. Você só precisa dar saída antes que matlab
seja iniciado:
nohup time bash -c 'echo $$; exec matlab -some_parameters -r "run '"$1"';exit"' &>> "$2" &
Editar 1:
$$
é o PID do shell, mas devido ao processo exec
the matlab
apenas sobrescreve o processo do shell, ou seja, o PID não muda. exec
significa que no final do programa chamado não há salto de volta para o shell; porque não há mais shell.
Para obter uma explicação sobre as outras opções que mencionei, consulte minha resposta para esta questão .