Я хотел, чтобы демон запускался при загрузке, поэтому я добавил в /etc/rc.local
строку, заканчивающуюся на "& amp;" Я сделал это, чтобы он работал в фоновом режиме.
Демон загружен и работает нормально, но когда он запущен, вы можете нажимать клавиши, которые выполняют другие важные действия.
Когда я наконец вошел в систему, я хотел возобновить процесс или отправить ему терминал (tty2), чтобы я мог сделать пару вещей.
Я новичок в Linux и не знаю, как это сделать.
Я делаю ps -aux |grep uox
, чтобы выяснить, какой это PID. Но не уверен, как возобновить.
jobs
будет перечислять только задания, связанные с оболочкой, в которой выполняется команда jobs
, и аналогично fg
и bg
работают только с процессами в том же дереве процессов, что и текущая оболочка. В контексте этого вопроса задание, к которому вы хотите присоединиться, было начато с /etc/rc.local
, поэтому оболочка не является текущей, в которой вы находитесь.
Вы можете начать процесс с /etc/rc.local
командой screen
( https://help.ubuntu.com/community/Screen ) - это запустит его, подключенный к псевдотерминалу затем вы можете снова использовать screen
, чтобы присоединиться к этому терминалу и набирать символы в запущенной программе.
Установите screen
, используя apt-get
, затем введите man screen
, чтобы увидеть все параметры. Я не уверен, что именно вы должны поместить в rc.local
, и у вас нет времени сейчас экспериментировать, но я могу обновить этот ответ позже.
Одолженный от Vijay
Используйте jobs
управляйте для нахождения списка фоновых процессов, которые запускаются Вами. для, например: существует сценарий, который просто спит для 10 secs в 5 повторениях. Я выполнил его 4 раза в фоновом режиме.
>jobs
[1] + Running ./temp.sh
[2] - Running ./temp.sh
[3] Running ./temp.sh
[4] Running ./temp.sh
fg
команда должна возвратить его переднему плану как показано ниже.
>fg 1
[CTRL -c]
как замечено выше я закончил процесс, и он больше не существует. теперь, если я снова работаю jobs
>jobs
[2] + Running ./temp.sh
[3] Running ./temp.sh
[4] - Running ./temp.sh
>
Также можно проверить здесь на больше
Вы можете возобновить процесс с помощью номера PID из любой оболочки, используя команду kill.
kill -CONT <pid>
Не забывайте часть -CONT, иначе вы убьете свой процесс.
P.S. Дэвид Пердью прав, что fg и bg работают только с процессами в одном дереве процессов. Его решение, кажется, лучше соответствует вашим потребностям. Однако, поскольку заголовок «Возобновить процесс через номер PID», я указал, что другие, кому это нужно, могут захотеть его найти.