bash: desativa nova mensagem PID de processo

3

Pode parecer com isto: [2] 2847 . Eu acho que o primeiro dígito é apenas uma enumeração de processos criados a partir do shell. O segundo é o PID. De qualquer forma, eu nunca me importo com essa informação, então é irritante de se ver. Há um modo de desligá-lo? (Descobri que set +bm in .bashrc desativou a mensagem de finalização do processo).

    
por Emanuel Berg 06.06.2012 / 00:08

1 resposta

5

O primeiro número é o índice do trabalho; comandos relacionados ao trabalho ( jobs , fg , etc.) os utilizam. Por exemplo, se você obtiver a saída [2] 2847 , poderá executar fg 2 para destacar esse trabalho.

Tanto quanto eu poderia dizer de skimming a fonte, não há uma maneira de desativar a mensagem. A única verificação que ele faz é garantir que o shell seja interativo, portanto, se você executar o comando em um shell não interativo, não obterá essa saída. Por exemplo, você poderia executá-lo em um subshell:

$ (your_command &)

Isso equivale a executar o comando em um shell totalmente diferente, então ele pode ter outros efeitos colaterais indesejados

Se você estiver disposto a corrigir bash , pode se livrar dessa saída específica. No bash 4.2 está em jobs.c na linha 1428 :

fprintf (stderr, "[%d] %ld\n", job + 1, (long)pid);

É chamado em outras circunstâncias; Se você quer que ele seja para este caso em particular, você pode comentar execute_cmd.c , line 762 :

DESCRIBE_PID (last_made_pid);
    
por 06.06.2012 / 00:36

Tags