Eu suponho que você esteja usando um CLI Bash. Existem pelo menos duas maneiras de fazer isso, dependendo de quanto você deseja planejar com antecedência.
Se você digitar um comando e entrar , e então decidir que quer executar algum outro comando quando isso terminar, você pode fazer isto:
001 $ date; sleep 10
002 Mon, Jan 25, 2016 3:08:35 PM
003 tty; date
004 $ tty; date
005 /dev/pty2
006 Mon, Jan 25, 2016 3:08:45 PM
Notas:
- Números de linha ("001 ...") são adicionados
- Linha 001: dois comandos são executados sequencialmente devido a ; , o segundo é de longa execução
- Linha 002: a saída imediata de 'data' na linha 001, para referência
- Linha 003: o usuário digita comandos adicionais enquanto o comando 'sleep' da linha 001 ainda está em execução, a digitação é ecoada, mas não é interpretada até que 'sleep' seja concluído
- O prompt da linha 004: $ aparece marcando a execução final do segundo comando na linha 001, o resto é o eco da linha 003.
- Linha 005: Saída do comando 'tty' inserido na linha 003
- Linha 006: Saída do comando 'date' introduzido na linha 003, compare com a linha 002
No entanto, se você souber antecipadamente que deseja iniciar algo após um comando inicial, mas ainda não sabe o que fazer, aguarde explicitamente como:
006 $ date; sleep 20 &
007 Mon, Jan 25, 2016 3:13:52 PM
008 [1] 504840
009 $ wait 504840; tty; date
010 [1]+ Done sleep 20
011 /dev/pty2
012 Mon, Jan 25, 2016 3:14:12 PM
Notas:
- Linha 006: 'date' para referência e, em seguida, o comando 'sleep' é colocado em segundo plano com
e - Linha 007: saída de 'data' na linha 006, para referência
- Linha 008: saída de & na linha 006, dando o PID do comando 'sleep'
- Linha 009: 'espera' aguardará o processo com PID nomeado para concluir
- Linha 010: 'sleep' na linha 006 completa e, em seguida, 'tty; data 'será interpretada
- Linha 011: saída de 'tty' na linha 009
- Linha 012: saída de 'data' na linha 009, compare com a linha 007