У меня была похожая ситуация, но из-за других необоснованных ограничений я не смог использовать crontab. У меня на самом деле был экран вызова inittab. (заменил некоторые имена, чтобы скрыть информацию):
XXX:5:respawn:/bin/su - useraccount -c "screen -D -m -c /home/xxxxxx/file.screenrc"
В 'file.screenrc' я установил несколько параметров:
sessionname obscuresessionname
multiuser on
cd
screen /home/xxxxxxx/programtostart
Таким образом, это началось при загрузке, и если программа умерла или закрылся экран, она снова появится. Возможно, это не считалось обычным, но мне пришлось обойти несколько странных требований. Если бы нам нужно было это снять, нам бы пришлось закомментировать эту строку и завершить сеанс. Затем, когда будете готовы восстановить его, раскомментируйте и инициализируйте q.