Não pense nisso em termos de pressionar teclas, pense nisso em termos de realizar uma tarefa. Pressionando as teclas é uma maneira de fazer as coisas de forma interativa. A maneira de realizar as coisas automaticamente é roteirizá-las.
Para iniciar um trabalho na tela e desconectá-lo imediatamente, execute
screen -md ./runMyJob.sh
Se você quiser facilitar a localização de seus trabalhos, pode passar a opção -S
para definir um nome de sessão.
Por exemplo, você pode escrever o seguinte script, que usa o nome do executável do trabalho como o nome da sessão:
#!/bin/sh
screen -md -S "${1##*/}" "$@"
Chame de algo como submit
, coloque-o em um diretório em seu PATH ( Local de instalação binária de usuário único? e Como adicionar caminho de diretório inicial a ser descoberto pelo Unix qual comando? pode ajudar), torne-o executável ( chmod +x ~/bin/submit
). Para iniciar um trabalho, execute
submit ./runMyJob.sh
Para execução paralela, você pode querer investigar o paralelo GNU .
Observe que uma estrutura de envio de trabalho faz mais do que iniciar trabalhos. Ele também permite que eles sejam executados onde há tempo e memória da CPU disponíveis e para enviar logs para os remetentes. Você deve solicitar que seus administradores configurem uma estrutura de envio de trabalhos adequada.