Моя первая публикация, так что изучите эту систему сообщений askubuntu. Я пытаюсь автоматизировать мой сервер Ubuntu 14.04LTS с помощью загрузочных приложений Ubuntu. Я автоматически запускаю несколько сценариев bash в окнах gnome-terminal, когда компьютер перезагружается. Однако моя программа на C запускается через 10 минут до часа при запуске через приложения запуска.
Ниже приведен пример команды запуска при запуске:
gnome-terminal -x sh -c "notifyserial.sh; #!/bin/bash"
(работает нормально, скрипты продолжают работать, процессы мониторинга, окно терминала остается активным)
Моя «c-программа», называемая «serial», запускается и обновляет статус печати, как показано ниже:
Command: 14 01 - Cashless Reader Enable
Starting main loop
********************************************************************
Started **serial** program at : Wed Sep 27 17:19:27 2017
********************************************************************
Примерно через 10-20 минут программа останавливается, и это отображается желтым в верхней части окна терминала:
The child process exited normally with status 139.
В «Приложениях запуска» я попытался добавить следующие команды, перезагрузить компьютер , затем подождите и посмотрите, продолжает ли программа «serial» работать неограниченно, но это не так:
gnome-terminal -x sh -c "sudo ./myprogram"
и
gnome-terminal -e "sudo ./myprogram"
и
gnome-terminal -x sh -c "startserial.sh; #!/bin/bash" && DISPLAY=:0 && wmctrl -r :ACTIVE: -b toggle,shaded
Когда у меня есть профиль терминала, установленный на «Удерживать терминал открытым», я получаю следующее:
The child process exited normally with status 139.
Когда у меня установлен профиль терминала «Выход из терминала», окно терминала исчезает. [ ! d9]
Я попытался поместить различные команды в bash scri pt, так как мои другие скрипты работают бесконечно долго, как они предполагают. Я скрипт bash startserial.sh Я пробовал каждую из этих командных строк индивидуально перезагружать и ждал результатов:
#!/bin/bash
#gnome-terminal -e "/home/cpi-machine3/serial_ver2_machine3_75centair_3_95" --window-with-profile-internal-id=b9dc7b22-e86b-4ab0-9cdd-4470e1ed6b9
#/home/cpi-machine3/serial
#gnome-terminal -x sh -c "sudo ./serial"
Я запустил эту программу с помощью терминала gnome, открыв терминал: нажав на значок терминала или ctrl + alt + t и введите:
sudo ./serial
Затем нажмите enter. Моя программа работает в течение нескольких недель. Терминал Gnome остается активным, показывая все команды печати на экране по мере того, как я запрограммировал
. Моя цель состоит в том, чтобы иметь c-программу, «серийный» автоматически запускается и продолжает работать, когда компьютер перезагружается из: 1. отключение питания 2. Я удаленно перезагружаю компьютер с Teamviewer или 3. перезагружаюсь через Gnome Schedule v2.2 в повторяющемся расписании.
Ответы:
Пробовал это в терминале, но он ушел после примерно 20 минут (тот же выпуск):
gnome-terminal -x bash -c "sudo /home/cpi-machine3/serial"
Из обратной связи я попробую эту команду в сценарии bash:
gnome-terminal -x bash -c "sudo /home/cpi-machine3/serial"
В предстоящем терминале вас спросили root !.
Не сейчас я набрал команду и вам больше не нужно вводить пароль.
Является ли ваша программа предназначена для запуска с правами root?
Не знаю. «serial» находится в моем каталоге «/ home». И я начинаю это оттуда. Он не запускается, если я не использую 'sudo'
, это значит быть системным сервисом? Я не уверен, что это значит.
Это новая проблема: я начал свой «серийный», открыв окно терминала (щелкнув значок терминала), и теперь моя программа заканчивается. Командная строка появилась так же, как нажатие ctrl + c, чтобы выйти из моей программы. Этого еще не было, ни на одном из моих компьютеров, запускающих эту программу.
Command: 14 01 - Cashless Reader Enable
Starting main loop
********************************************************************
Started **serial** program at : Wed Sep 27 17:44:11 2017
********************************************************************
cpi-machine3@CPI-Machine3:~$
Наконец-то я понял, что у моей программы C была ошибка, из-за которой она не срабатывала 10 минут до 1 часа после запуска. У Термина не было проблем. Я все еще не могу автоматически запускать свою программу C в программе «Запуск приложений». Поэтому я сделаю еще несколько проблем со стрельбой и отправлю этот вопрос позже, если мне нужна помощь.
Наконец-то я понял, что у моей программы C была ошибка, из-за которой она не срабатывала 10 минут до 1 часа после запуска. У Термина не было проблем. Я все еще не могу автоматически запускать свою программу C в программе «Запуск приложений». Поэтому я сделаю еще несколько проблем со стрельбой и отправлю этот вопрос позже, если мне нужна помощь.