Você pode fazer isso a partir de um comando, conforme indicado por Jason. Você pode fazer
tmux new-session -d -s session_name your_command
O -d
desanexou a nova sessão do terminal. Pode não ser necessário quando não iniciado a partir de um trabalho cron em vez de um terminal, mas não vai doer. ( new
é a abreviação de new-session
)
Isso tem uma grande desvantagem, pois fecha a sessão se your_command
terminar, e se alguma coisa útil for gravada na sessão, essa informação será perdida.
Eu sugiro que você use um script multi-linha para iniciar este tipo de comando e inicie a partir do seu cron na reinicialização:
#!/bin/bash
cd /home/morggin/mcserver
tmux new-session -d -s McMyAdmin -n McMyAdmin
tmux send-keys "./MCMA2_Linux_x86_64"
que inicia o programa na sessão bash que o tmux cria de qualquer maneira (existem outras maneiras de impedir que a saída do programa feche uma janela, mas pelo que me lembro algumas envolvem double bash
startups). O -n
nomeia a janela dentro da sessão, útil no caso de você decidir adicionar a criação de várias janelas na sessão.