Isso é fácil:
screen -d -m yourcommand
Como posso obter a tela para executar um comando e, em seguida, desanexar (ou seja, automaticamente em um único script sem mais entrada além do início inicial do script)? por exemplo. Eu corro myscript.sh e ele automaticamente inicia uma sessão de tela, executa um comando e depois se desconecta.
Para executar um único comando na tela e desanexar, tente:
screen -dm sleep 10
Para executar vários comandos, tente:
screen -dm bash -c "sleep 10; myscript.sh"
Por favor, note que quando um programa termina, tela (por padrão) mata a janela que o continha.
Se você não quiser que sua sessão seja interrompida após a conclusão do script, adicione exec sh
no final, por exemplo:
screen -dm bash -c 'sleep 5; exec sh'
Para listar todas as suas sessões, tente:
screen -list
Relacionados: Iniciar a tela Unix, executar o comando, desanexar .
Inicie uma nova sessão em segundo plano com o nome 'sleppy'
screen -S sleepy -dm sleep 60
Matar sessão 'sonolenta'
screen -S sleepy -X quit
screen -dmS screen_session_name bash -c 'echo "doing stuff"; exec bash'
Tags command-line gnu-screen script