Executáveis não funcionam como regulares

1

Quando eu digito este comando

nohup CloudCompute.command &

produz o resultado

[1] 782

que é o que eu quero. (É o número do PID BTW)

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. Apenas imprime o que CloudCompute.command produz, não o PID real que mostra 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 digitá-lo manualmente?

Obrigado

    
por APCoding 23.10.2015 / 02:54

1 resposta

0

% bl0ck_qu0te%

Essa saída:

[1] 782

não é do executável. Isso que bash grava no terminal, quando você executa alguma coisa no backgroud. É o número do trabalho [1] e o PID 782 do processo. Mais tarde, quando o processo terminar, você verá algo como:

[1]+  Done                    command

Isso também é de bash , notando que o processo com o número de trabalho 1 terminou.

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

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

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

    
por chaos 23.10.2015 / 08:10