saídas do processo em segundo plano para o console

0

Suponha que test.sh seja um script bash vazio ou que contenha apenas exit 0 . Quando o script é baseado em segundo plano, qual é o significado do 1 e 16320 impresso no console?

b@sam:~/Documents/bashscripts$ ./test.sh &
[1] 16320
b@sam:~/Documents/bashscripts$ 
[1]+  Done                    ./test.sh
b@sam:~/Documents/bashscripts$ 

Então, se o usuário pressionar ENTER no prompt de comando, como ilustrado acima, outra linha aparecerá e mostrará isso

[1]+ Done ./test.sh

Qual é o significado do símbolo 1 e do símbolo + ?

    
por H2ONaCl 14.12.2012 / 10:20

1 resposta

2

[1] é o número do trabalho em segundo plano, usado para comandos internos do shell, como fg e bg , que gerenciam várias tarefas em execução no mesmo shell. jobs lista os trabalhos atuais.

16320 é o número de identificação do processo da tarefa, útil se você quiser kill ou similar.

[1]+ Done indica que o processo em segundo plano foi encerrado. Desde que você solicitou para executá-lo em segundo plano com ./test.sh & , ele não esperou que ele terminasse antes de lhe dar um novo prompt (mesmo que tenha terminado quase imediatamente). O shell, portanto, notifica você na próxima vez que você receber um aviso.

O + indica o trabalho atual (mais recente), se você tiver várias tarefas em execução.

Consulte o manual do bash para obter mais informações.

    
por chronitis 14.12.2012 / 10:26