Как запустить .sh файл на ПК включить или после перезагрузки ПК?

У меня есть файл .sh в моем каталоге Downloads. Я хочу запустить его с помощью сеанса tmux, когда компьютер включен или после перезагрузки компьютера.

Я использую Ubuntu 12.04.4, и когда компьютер включен, пользователь не входит в систему автоматически - требуется пароль. Также гостевая учетная запись отключена.

В мой файл /home/user/.bashrc я добавил следующие строки:

/etc/init.d/ssh start
/etc/init.d/networking start

, чтобы при перезагрузке ПК можно было создать экземпляр сеанса SSH, если пользователь не вошел в систему.

Мне нужно найти способ запустить файл .sh, но с использованием сеанса tmux.

Может ли кто-нибудь указать мне шаги, чтобы сделать такую ​​вещь?

0
задан 13.05.2020, 04:41

2 ответа

Создайте файл в/etc/init/myappname.conf с:

author "YourName"
description "Start myappname at boot time"
start on (local-filesystems and net-device-up IFACE!=lo)
script
su myusername -c "tmux new-session -d 'myAppExecutablePath'"
end script

Непосредственно скопированный от эта ссылка , но сделать ответ завершенным. Дополнительные сведения об опциях остановки запуска см. в этой ссылке .

0
ответ дан 13.05.2020, 04:42
  • 1
    Спасибо, но задание все еще не запускается. Я пытаюсь запустить задание, вручную работающее sudo initctl start myjob, и я получаю следующее сообщение myjob start/running, process 3100, но мой сценарий не выполняется. Снова, если я выполнил сценарий вручную в консоли, это работает. – infinito84 13.05.2020, 04:42
  • 2
    Lot' s опций для этого, имейте новомодный сценарий, делают testfile где-нибудь, анализируют некоторые сообщения отладки от Вашего сценария до testfile или заменяют Ваш сценарий все вместе со сценарием в качестве примера, который покажет Вам работы установки. – infinito84 13.05.2020, 04:43
  • 3
    Вы могли также взглянуть на: upstart.ubuntu.com/getting-started.html – David 13.05.2020, 04:43
  • 4
    Я предполагаю, что Вы правы, потому что у меня есть попытка различные способы выполнить его на перезагрузке, и никто не работает. Как я могу сделать такое уведомление? – hyperfkcb 13.05.2020, 04:43
  • 5
    Все еще, если это говорит, что процесс, выполняющий init сценарий, надеется быть, работал. Возможно, сценарий полагается на переменные среды, которые не доступны в новой оболочке? Возможно, можно ли проверить просто создание очень легкого уведомления отладки в init conf только, чтобы проверить, что это выполняется? – overlord1234 13.05.2020, 04:44

Вы могли бы быть в состоянии использовать крон для этого. Посмотрите под специальными символами для @reboot ключевое слово.

Выполнение Ваша команда в новой tmux сессии (помещает это в крон):

/usr/bin/tmux new-session "/bin/bash /path/to/script"

0
ответ дан 13.05.2020, 04:42
  • 1
    С кроном необходимо использовать полный путь. Также удостоверьтесь, что все необходимые программы установлены (сон, sh, tmux...). Попробуйте @reboot /bin/sleep 300 && /usr/bin/tmux new-session -s miner '/bin/sh /home/gotqn/Downloads/folder1/runnow.sh' – jmort253 13.05.2020, 04:43
  • 2
    Спасибо, я установил cron и устанавливаю задание, но оно не выполняется после перезапуска. Если я выполняю строку в консоли, это работает, но не выполняется автоматически на перезапуске. Могли Вы совет? Это - строка: @reboot sleep 300 && cd "/home/gotqn/Downloads/folder1" && /usr/bin/tmux new-session -s miner 'sh ./runnow.sh' – peresisUser 13.05.2020, 04:43

Теги

Похожие вопросы