Executáveis ​​não funcionam normalmente

Executáveis ​​não funcionam normalmente

Quando eu digito este comando

nohup CloudCompute.command &

produz o resultado

[1] 782

que é o que eu quero. (É o número PID, aliás)

Então, quando executo esse mesmo comando em um executável ( .command) e tento anexar a saída a um arquivo, ele não funciona. Ele apenas imprime as CloudCompute.commandsaídas, não o PID real que aparece quando você o executa. Tenho certeza de que está no mesmo diretório.

Por que isso está acontecendo? O que posso fazer para que o executável produza a mesma saída que você digitou manualmente?

Obrigado

Responder1

Por que isso está acontecendo?

Essa saída:

[1] 782

não é do executável. É o que bashescreve no terminal, quando você executa algo em segundo plano. É o número do trabalho [1]e o PID 782do processo. Mais tarde, quando o processo terminar, você verá algo como:

[1]+  Done                    command

Isso também ocorre bashporque o processo com a tarefa número 1 foi concluído.

Ao executar um comando em segundo plano, o PID é armazenado na variável $!:

$ sleep 10 &
[1] 1234
$ echo $!
1234

O que posso fazer para que o executável produza a mesma saída que você digitou manualmente?

Portanto, seu executáveléproduzindo a mesma saída.

informação relacionada