Eu não acho que você possa fazer isso em um comando, mas isso deve fazer o que você quer:
screen -ls cron | grep -q '(\w*tached)' >&- || screen -dmS cron
screen -S cron -X screen ping example.com
Estou tendo um pouco de dificuldade com a tela do GNU. O que eu quero fazer é isso (de cron
):
Se uma sessão de tela chamada cron existir, adicione uma nova janela à sessão e inicie um processo nela (mas não anexe a sessão). Caso contrário, crie uma nova sessão chamada cron e inicie o processo nela (novamente, não anexe). Se possível, tudo isso deve ser feito usando apenas um comando "screen".
Eu já tentei um pouco, mas não cheguei a uma solução que satisfaz todas as minhas necessidades:
screen -S cron -dRRm screen ping example.com
screen -S cron -X screen ping example.com
Há algo que eu perdi?
Eu não acho que você possa fazer isso em um comando, mas isso deve fazer o que você quer:
screen -ls cron | grep -q '(\w*tached)' >&- || screen -dmS cron
screen -S cron -X screen ping example.com
Tags gnu-screen window linux